6

我有一个多模块 Maven 项目,我在其中运行 maven-javadoc-plugin 来生成 javadoc。在我的父 pom.xml 中,我定义了插件构建如下:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-javadoc-plugin</artifactId>
   <version>2.9.1</version>
   <configuration>
      <!-- Default configuration for all reports -->
   </configuration>
   <executions>
      <execution>
         <id>aggregate</id>
         <goals>
            <goal>aggregate-jar</goal>
         </goals>
         <phase>install</phase>
                 <configuration>
                     <!-- Specific configuration for the aggregate report -->
                 </configuration>
      </execution>
   </executions>
</plugin>

当我运行mvn clean install构建失败并出现未解决的依赖项时,但我看到以下警告:

[警告] 依赖项:[my.application:my-module:jar:1.7.1] 无法解析,但已在反应器中找到(可能是快照)。此依赖项已从 Javadoc 类路径中排除。您应该在执行 mvn install 后重新运行 javadoc。

由于我目前正在构建 my-module 1.7.1,因此我假设 Maven 会检测到这一点并在构建 my-module 后运行聚合 jar,但由于某种原因,它希望 my-module 已经安装在 repo 中。

我的 Maven 版本是 3.0.4。请记住,我是 Maven 构建的新手,所以这可能是一个非常简单的问题,但我找不到任何答案。

一些观察:

  • 如果我在mvn clean install没有 javadoc 插件aggregate-jar目标的情况下首次运行,则构建成功
  • javadoc 插件aggregate目标运行良好。
  • 这个错误完全是我的问题,但应该在 Maven 3 (2010) 中得到解决
4

1 回答 1

0

我在我的父 pom 中运行这个命令,这就是我没有问题的方式:

<build>
    <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.1</version>
            <executions>
                <execution>
                    <id>attach-javadocs</id>
                    <goals>
                        <goal>aggregate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

当我想生成文档时,我会执行 mvn javadoc:aggregate

于 2015-03-10T21:04:13.847 回答