我需要保持项目中所有类Javadoc的@version
标记以及@author
标记。但是我不知道这么做的简单方法。
是否有可以实现此目的的插件(最好是maven插件)?不,maven-release插件不会为我做这个。
答案 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以供参考)