我想在我的Java应用程序(在本例中为Vaadin Portlet)中添加版本编号,其中包含帮助视图中的版本号。
问题是该版本号是我的Maven的POM文件中定义的版本号(例如1.1.5-SNAPSHOT),这是我们要更改的版本(例如发布时)。
关于如何从Java中获取它并使用Java(例如,字符串)的任何想法? (如果可能的话)
由于
答案 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