【发布时间】:2011-07-12 17:43:41
【问题描述】:
我想向我的 Java 应用程序(在本例中为 Vaadin Portlet)添加版本编号,它在帮助视图中显示版本编号。
问题是该版本号是在我的 Maven 的 POM 文件中定义的版本号(例如 1.1.5-SNAPSHOT),这是我们要更改的版本号(例如在发布时)。
关于如何将它从 POM 中取出并放入 Java 中(例如,字符串)的任何想法? (如果可能的话)
谢谢
【问题讨论】:
我想向我的 Java 应用程序(在本例中为 Vaadin Portlet)添加版本编号,它在帮助视图中显示版本编号。
问题是该版本号是在我的 Maven 的 POM 文件中定义的版本号(例如 1.1.5-SNAPSHOT),这是我们要更改的版本号(例如在发布时)。
关于如何将它从 POM 中取出并放入 Java 中(例如,字符串)的任何想法? (如果可能的话)
谢谢
【问题讨论】:
使用包含行的过滤属性文件
version=${project.version}
并从 Java 程序中的类路径加载此属性文件。
【讨论】:
这个问题有很多解决方案
但我肯定更喜欢第一个,因为在 Java 中访问 MANIFEST.MF 非常容易
【讨论】:
POM 中的版本可作为属性“project.version”使用。表示为 ${project.version}
所以你应该可以将它与过滤资源一起使用:
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
最好的方法可能是过滤(和替换)属性文件或部署描述符。
【讨论】:
或者您可以从类路径中读取 maven pom.properties。 pom.properties 位于:
META-INF/maven/groupid/artifactId/pom.properties
【讨论】: