由于未解析的依赖关系,Maven Javadoc aggregate-jar插件失败

qti*_*ips 5 java maven maven-javadoc-plugin

我有多模块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>
Run Code Online (Sandbox Code Playgroud)

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

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

由于我目前正在构建我的模块1.7.1,我会假设Maven在构建my-module后检测到并运行aggregate-jar,但由于某种原因,它希望my-module已经安装在repo中.

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

一些观察:

  • 如果我第一次运行mvn clean install没有javadoc插件aggregate-jar目标,构建成功
  • javadoc插件aggregate目标运行正常.
  • 这个错误完全是指我的问题,但应该在Maven 3(2010)中得到解决

Joe*_*Joe 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>
Run Code Online (Sandbox Code Playgroud)

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