2011-03-10 73 views
6

我想在我的Java應用程序(本例中爲Vaadin Portlet)中添加一個版本編號,它在幫助視圖中具有版本號。將Maven POM版本號加載到Java項目中

問題是該版本號是在我的Maven的POM文件(例如1.1.5-SNAPSHOT)中定義的版本號,這是我們將要改變的版本號(例如版本)。

關於如何將它從POM中移出(例如,一個字符串)在Java中的任何想法? (如果這是在所有可能的)

感謝

回答

8

使用過濾屬性文件中包含該行

version=${project.version} 

,並加載這個屬性從classpath文件中的Java程序。

+0

誰設置了屬性文件,並且可以從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

4

有包裝階段

  • 創建一個過濾屬性文件,像JB mentionned
  • 有一個Java類重寫與財產
  • 期間,這一問題許多解決方案

    +0

    如何訪問Java中的清單中的信息應用? – 2012-03-21 15:03:48

    +1

    @Deejay讓我爲你堆疊它:http://stackoverflow.com/q/615493/15619 – Riduidel 2012-03-21 15:24:14

    +0

    Hehehe,歡呼:) – 2012-03-21 15:59:09

    2

    或者你可以從classpath中讀取maven pom.properties。 pom.properties位於:
    META-INF/maven/groupid/artifactId/pom.properties

    +0

    這將導致對Maven構建的依賴。我寧願使用包含以標準方式定義的相同信息的MANIFEST.MF文件。 – jjmontes 2011-10-03 15:49:56