2014-10-16 173 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的类型