JavaDoc不会在jenkins上发布

时间:2014-08-22 08:43:15

标签: java maven jenkins javadoc publish

我有一个用jenkins构建的聚合器项目,我想发布javadocs。所以我安装了javadoc插件并更改了我的父pom,如下所示:

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
      <aggregate>true</aggregate>
      <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
 </configuration>

我尝试了不同的配置,但这是唯一一个不会使构建失败的配置。使用此配置,构建不会失败,但不会找到javadoc。我在这里错过了什么吗?有没有人有同样的问题?

2 个答案:

答案 0 :(得分:0)

首先,您应该使用aggregate目标而不是参数cause it's marked deprecated

此外,您应该在您的根pom中配置如下所示的javadoc插件:

<project>
  ...
  <build>
    <plugins>
      <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</goal>
            </goals>
            <phase>package</phase>
            <configuration>
              <!-- Specific configuration for the aggregate report -->
              ...
            </configuration>
          </execution>
          ...
        </executions>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

之后你应该能够:

mvn clean package

这将导致根target/apidoc中的文件夹包含已创建的聚合javadoc。

答案 1 :(得分:0)

我找到了一种将javadocs发布为.jar的方法。我使用上面的pom配置进行了一些小改动:

<id>attach-javadocs</id>
<goals>
   <goal>jar</goal>
</goals>

它为每个子模块发布javadocs为.jars。 javadocs可以在子模块目录中找到,而不是在父目录中。