Java文件中的Maven版本号

Fra*_*fka 17 java ant build m2eclipse maven

我来自ANT,您可以通过执行某种方法调用.java文件来获取版本号.我想在我的新pom.xml中做类似的事情来自动获取正确的版本号.我需要应用程序了解它自己的版本,同时Maven知道版本得到了正确的版本.持有版本infomormation加倍是没有选择.

或者Maven可以在构建期间/之前创建一个新的.java文件吗?

我可以想象很多方法来实现这个目标,但是在Maven项目中有没有最佳实践方法呢?

pru*_*nge 26

当构建一个JAR时,Maven的写入pom.xmlpom.properties文件到META-INF/maven/[group ID]/[artifact ID]目录中.然后,您可以在应用程序中读取其中一个版本.

或者,您可以使用资源筛选显式编写新的version.properties文件.

如果您在POM中放入以下内容:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>
Run Code Online (Sandbox Code Playgroud)

然后将version.properties模板放入src/main/resources目录,如下所示:

version = ${project.version}
Run Code Online (Sandbox Code Playgroud)

Maven将替换POM中读出的版本,然后您的应用程序只需要读取version.properties资源并查询version密钥.