具体来说,我尝试运行maven-javadoc-plugin,但是每当我更改父/聚合pom和所有子代上的版本号时,我第一次运行构建都会失败,因为javadoc首先运行并且找不到任何模块中的新版本软件包,因为它们尚未构建。

我通常最终不得不将javadoc注释掉以进行一个构建,然后一旦软件包在nexus中可用于新版本,则将其重新添加回去。但是,这可能意味着我一直都在一个旧的源jar上构建javadoc。

我已经阅读了将另一个模块放入其中的建议,但这取决于其他模块,但我认为我无法获得一个模块来为对等模块构建javadoc。在父级中拥有它会为所有模块构建所有javadoc,我只需要稍后进行。谢谢。这是我的javadoc插件配置。

                    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <inherited>false</inherited>
                    <executions>
                        <execution>
                            <id>generate-javadoc</id>
                            <phase>package</phase>
                            <goals>
                                <goal>aggregate</goal>
                            </goals>
                            <configuration>
                                <aggregate>true</aggregate>
                                <links>
                                    <link>http://java.sun.com/javase/6/docs/api</link>
                                    <link>http://java.sun.com/javaee/5/docs/api</link>
                                </links>
                                <maxmemory>512</maxmemory>
                                <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                                <docletArtifact>
                                    <groupId>org.umlgraph</groupId>
                                    <artifactId>doclet</artifactId>
                                    <version>5.2</version>
                                </docletArtifact>
                                <additionalparam>
                                    -inferrel -inferdep -outputencoding utf8 -hide
                                    java.* -collpackages
                                    java.util.*
                                    -qualify -postfixpackage
                                    -nodefontsize 9 -nodefontpackagesize 7
                                </additionalparam>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

最佳答案

解决此问题的一种方法是,在正常的Maven生命周期阶段不调用javadoc插件。而是单独运行它。

具体来说,请从上述<phase>定义中删除plugin标记。

从父目录运行mvn install javadoc:javadoc

这将构建并安装所有模块和父模块,然后在它们上运行javadoc。

关于maven - 如何执行Maven插件_after_所有模块构建完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7712683/

10-13 09:08