我来自 ANT,您可以在其中调用 .java 文件通过执行某些方法来获取版本号。我想在我的新 pom.xml 中做类似的事情来自动获取正确的版本号。我需要该应用程序了解它自己的版本,同时 Maven 需要了解该版本才能做出正确的构建。将版本信息加倍是没有选择的。
或者 Maven 可以在构建期间/之前创建一个新的 .java 文件吗?
我可以想象很多方法来实现这一点,但是在 Maven 项目中是否有最佳实践方法来做到这一点?
最佳答案
在构建 JAR 时,Maven 将 pom.xml
和 pom.properties
文件写入 META-INF/maven/[group ID]/[ Artifact ID]
目录。然后,您可以在您的应用程序中读取其中之一的版本。
或者,您可以使用 resource filtering 显式编写新的 version.properties 文件。 .
如果您将以下内容放入您的 POM:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
然后将 version.properties
模板放入 src/main/resources 目录,如下所示:
version = ${project.version}
Maven 将替换从 POM 中读取的版本,然后您的应用程序只需要读取 version.properties
资源并查询 version
键。
关于java - java文件中的Maven版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829147/