2014-10-16 178 views
3

我在pom.xml中添加一個節點:如何從pom.xml獲取屬性值?

<properties> 
     <getdownload-webapp.version>1.5</getdownload-webapp.version> 
</properties> 

我怎麼能得到這個代碼值1.5?

String version = System.getProperty("getdownload-webapp.version"); // output version = null 

此代碼給了運行時我空(

PS:有這個項目

+0

如果你將pom打包到META-INF中,那麼maven通常會自動執行,你應該可以從那裏讀取它。 – 2014-10-16 12:28:50

+0

這不是JVM屬性,這與Maven中的變量類似:http://maven.apache.org/pom.html#Properties – 2014-10-16 12:29:17

+0

我可以將屬性更改爲資源或變量 - 但我怎樣才能從Java代碼訪問它們? – curiousity 2014-10-16 12:31:56

回答

0

我假設你想要得到它的代碼來檢查正確的事情沒有任何的settings.xml你可以使用來自行家濾波,這將在源代碼中注入的值,類似於過濾選項 http://mojo.codehaus.org/templating-maven-plugin/

+0

另外,maven資源插件可以通過maven屬性過濾資源 – 2014-10-16 12:27:07

+0

我無法調用過濾器,所有的邏輯只在java方法 - 也許有一種方法來使用資源 - 但如何讀取它們的值運行時? – curiousity 2014-10-16 12:33:39

+0

上述鏈接的模板插件可以爲您修改java文件。你可以做一些像String version = $ {getdownload-webapp.version}之類的東西,然後在你的邏輯中使用版本變量 – Nadir 2014-10-16 12:48:33

-1
String version = project.getProperties().getProperty("getdownload-webapp.version"); 

瓦時這個項目是MavenProject的類型