我有像这样的多模块maven项目
myproject
framework1
f1-presentation
*.java
f1-core
*.java
f1-tag
*.java
framework2
f2-presentation
*.java
f2-core
*.java
f2-tag
*.java
我想为所有java文件创建apidocs。如果我在项目根目录中运行mvn javadoc:aggregate,它会在项目根目录(target / sites / apidocs)中创建apidcos。但我想要的是为每个二级模块创建这个apidocs。例如,我希望在framework1 / target / sites / apidocs中创建framework1的所有java文件的apidocs。 framework2也是如此。最终结果将是这样的
myproject
framework1
target/sites/apidocs (this will contain javadocs for all its submodules classes)
f1-presentation
*.java
f1-core
*.java
f1-tag
*.java
framework2
target/sites/apidocs (this will contain javadocs for all its submodules classes)
f2-presentation
*.java
f2-core
*.java
f2-tag
*.java
你们可以告诉我如何使用maven javadoc插件做到这一点。
编辑: framework1中的pom.xml包含
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>aggregate</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 0 :(得分:1)
经过深入挖掘后,我发现maven javadoc插件对于multimodule项目并不是那么好用。实际上我在我的问题中想要的还没有完成。它是maven javadoc插件的一个bug。这是错误链接
答案 1 :(得分:0)
实现此目的的一种方法是分别在framework1
和framework2
个文件夹中运行mvn javadoc:aggregate。
另一种方法是按照this example中的规定配置framework1
和framework2
至aggregate
的poms,并从mvn site
运行myproject