具体来说,我正在尝试运行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>
答案 0 :(得分:0)
解决此问题的一种方法是不在正常的maven生命周期阶段调用javadoc插件;而是单独运行它。
具体而言,请从上面的<phase>
定义中删除plugin
标记。
从父级运行mvn install javadoc:javadoc
。
这将构建并安装所有模块和父模块,然后在它们上运行javadoc。
答案 1 :(得分:0)
你的pav中的<build>
部分是否是你的javadoc插件声明。您应该考虑将其移至<reporting>
部分,请参阅此link。