Maven Javadoc - 无法生成Javadoc

时间:2011-10-13 19:21:10

标签: plugins maven javadoc

我有以下依赖项并在我的pom文件中构建。我可以使用Maven命令手动创建javadoc。我也可以成功地执行构建。输出根本没有提到javadoc。我也试过省略输出目录路径。 POM文件 依赖部分:

<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.8</version>
</dependency>

然后是构建部分:

<build>
    <finalName>D</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.8</version>
            <configuration> 
                <outputDirectory>${project.build.directory}/javadoc</outputDirectory>
                <reportOutputDirectory>${project.reporting.outputDirectory}/javadoc</reportOutputDirectory>
                <version>2.8</version>
            </configuration>
            <executions>
                <execution>
                    <id>attach-javadocs</id>
                    <goals>
                        <goal>aggregate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

1 个答案:

答案 0 :(得分:12)

Maven Javadoc插件默认不运行,需要绑定到默认的Maven生命周期阶段之一。

以下是我将如何编写插件的配置:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.8</version>
        <configuration> 
            <outputDirectory>${project.build.directory}/javadoc</outputDirectory>
            <reportOutputDirectory>${project.reporting.outputDirectory}/javadoc</reportOutputDirectory>
        </configuration>
        <executions>
            <execution>
                <id>attach-javadocs</id>
                <phase>site</phase>
                <goals>
                    <goal>aggregate</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

注意我是如何在执行中添加额外的phase元素的。这会将其绑定到“站点”目标,以便在运行mvn site时生成javadoc。如果您需要其中一个默认的Java构建阶段,请检查Introduction to the Build Lifecycle

另请注意,我抛弃了version参数;默认情况下,它应该使用您的POM版本。