多模块 maven java doc 构建

问题描述 投票:0回答:2

我有这样的多模块 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>
maven maven-plugin maven-javadoc-plugin
2个回答
1
投票

经过挖掘,我发现 Maven Javadoc 插件对于多模块项目来说不太好。我想要实现的尚未得到支持


0
投票

实现此目的的一种方法是分别在每个

framework1
framework2
文件夹中运行 mvn javadoc:aggregate。

另一种方法是将

framework1
framework2
的 poms 配置为
aggregate
,如 此示例中指定,并从
mvn site
运行
myproject

© www.soinside.com 2019 - 2024. All rights reserved.