跨所有文件更新Javadoc版本和作者?

时间:2010-12-29 20:51:51

标签: java maven javadoc

我需要保持项目中所有类Javadoc的@version标记以及@author标记。但是我不知道这么做的简单方法。

是否有可以实现此目的的插件(最好是maven插件)?不,maven-release插件不会为我做这个。

2 个答案:

答案 0 :(得分:6)

我使用@version的方式与@since一起使用。恕我直言,我认为@version表示此类修改时的软件版本,而@since表示此文件/类创建时的软件版本

@author上,我的政策是每个为该课程做出贡献的开发者(以某种主要方式)应该附加他/她的名字。

因此,如果您看到所有这些过程都是手动的,并且需要在编码时由类创建者/修饰符完成。而且,显然你会有不同版本的文件。而且,我认为这是有道理的。

如果有人不同,我想听听。

答案 1 :(得分:2)

当然有一种可靠的方法,但这很不寻常:

将您的src / main / java文件夹定义为<resource>,并使用固定的outputDirectory。然后重新配置javadoc和jar插件,如下所示:

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <targetPath>sources</targetPath>
            <filtering>true</filtering>
        </resource>
    </resources>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.6.1</version>
            <configuration>
                <sourcepath>${project.build.outputDirectory}/sources</sourcepath>
            </configuration>
            <!-- other config stripped -->
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <excludes>
                    <exclude>sources/**</exclude>
                </excludes>
            </configuration>
            <!-- other config stripped -->
        </plugin>
    </plugins>
</build>

现在您可以在源文件中使用占位符并使用maven属性进行插值(请参阅maven filtering以供参考)