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

时间:2013-12-10 14:23:18

标签: 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>

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

  

[警告]依赖:   [my.application:my-module:jar:1.7.1]无法解决但是   已在反应堆中发现(可能是快照)。这种依赖性   已被排除在Javadoc类路径之外。你应该重新运行javadoc   执行mvn install后。

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

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

一些观察结果:

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

1 个答案:

答案 0 :(得分: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