1

我有这样的多模块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>
4

2 回答 2

1

经过大量挖掘,我发现 maven javadoc 插件对于多模块项目并不是那么好。实际上我在我的问题中想要的还没有完成。它是 maven javadoc 插件的错误。这是错误链接

http://jira.codehaus.org/browse/MJAVADOC-311

于 2012-01-06T05:17:28.857 回答
0

实现此目的的一种方法是分别在每个文件夹framework1中运行 mvn javadoc:aggregate 。framework2

另一种方法是按照本示例framework1中的说明配置和framework2to的 pom并从.aggregatemvn sitemyproject

于 2011-12-21T09:32:15.337 回答