我有一个用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。我在这里错过了什么吗?有没有人有同样的问题?
答案 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可以在子模块目录中找到,而不是在父目录中。