我想在我的Java應用程序(本例中爲Vaadin Portlet)中添加一個版本編號,它在幫助視圖中具有版本號。將Maven POM版本號加載到Java項目中
問題是該版本號是在我的Maven的POM文件(例如1.1.5-SNAPSHOT)中定義的版本號,這是我們將要改變的版本號(例如版本)。
關於如何將它從POM中移出(例如,一個字符串)在Java中的任何想法? (如果這是在所有可能的)
感謝
我想在我的Java應用程序(本例中爲Vaadin Portlet)中添加一個版本編號,它在幫助視圖中具有版本號。將Maven POM版本號加載到Java項目中
問題是該版本號是在我的Maven的POM文件(例如1.1.5-SNAPSHOT)中定義的版本號,這是我們將要改變的版本號(例如版本)。
關於如何將它從POM中移出(例如,一個字符串)在Java中的任何想法? (如果這是在所有可能的)
感謝
使用過濾屬性文件中包含該行
version=${project.version}
,並加載這個屬性從classpath文件中的Java程序。
有包裝階段
但我會明確喜歡第一個,因爲訪問MANIFEST.MF在Java中很容易
如何訪問Java中的清單中的信息應用? – 2012-03-21 15:03:48
@Deejay讓我爲你堆疊它:http://stackoverflow.com/q/615493/15619 – Riduidel 2012-03-21 15:24:14
Hehehe,歡呼:) – 2012-03-21 15:59:09
POM中的版本可用作屬性「project.version」。表示爲$ {} project.version
所以,你應該能夠與過濾資源使用它:
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
的最好辦法很可能會過濾(和替換)屬性文件或部署描述符。
或者你可以從classpath中讀取maven pom.properties。 pom.properties位於:
META-INF/maven/groupid/artifactId/pom.properties
這將導致對Maven構建的依賴。我寧願使用包含以標準方式定義的相同信息的MANIFEST.MF文件。 – jjmontes 2011-10-03 15:49:56
誰設置了屬性文件,並且可以從Java方法獲取project.version的值,而無需使用屬性文件等你能檢查我的問題嗎? http://stackoverflow.com/questions/14760638/how-to-get-maven-project-version-from-java-class-as-like-at-pom – kamaci 2013-02-07 22:48:56