将Maven POM版本号加载到Java Project中

时间:2011-03-10 13:45:36

标签: java maven pom.xml

我想在我的Java应用程序(在本例中为Vaadin Portlet)中添加版本编号,其中包含帮助视图中的版本号。

问题是该版本号是我的Maven的POM文件中定义的版本号(例如1.1.5-SNAPSHOT),这是我们要更改的版本(例如发布时)。

关于如何从Java中获取它并使用Java(例如,字符串)的任何想法? (如果可能的话)

由于

4 个答案:

答案 0 :(得分:8)

使用包含该行

已过滤属性文件
version=${project.version}

并从Java程序中的类路径加载此属性文件。

答案 1 :(得分:4)

这个问题有很多解决方案

但我绝对不会喜欢第一个,因为在Java中访问MANIFEST.MF非常容易

答案 2 :(得分:2)

POM中的版本可用作属性“project.version”。表示为$ {project.version}

所以你应该能够将它用于过滤资源:

http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

最好的方法可能是过滤(和替换)属性文件或部署描述符。

答案 3 :(得分:2)

或者您可以从classpath中读取maven pom.properties。 pom.properties位于:
META-INF /行家/ GROUPID / artifactId的/ pom.properties