我有一个maven配置文件,并希望设置一个属性,该属性稍后在java中按System.getProperty(..)提供:
<profile>
<id>local-dev</id>
<properties>
<my.comp.my.prop>myValue</my.comp.my.prop>
</properties>
</profile>
我希望System.getProperty("my.comp.my.prop")
为"myValue"
,但它是null
..
我该如何正确设置? :)
Thansk!
答案 0 :(得分:10)
properties-maven-plugin插件可以帮助您完成您正在寻找的内容:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<goals>
<goal>set-system-properties</goal>
</goals>
<configuration>
<properties>
<property>
<name>my.property.name</name>
<value>my.property.value</value>
</property>
</properties>
</configuration>
</execution>
</executions>
</plugin>
答案 1 :(得分:1)
maven无法设置应用程序可以在运行时从环境中访问的属性。
相反,您可以使用maven在构建期间更新代码库中的属性文件,然后您的应用程序可以在运行时读取该文件。可以根据配置文件设置不同的属性值,从而允许应用程序根据需要使用不同的值。
或者,您可以手动调用在环境中设置所需属性的应用程序(maven外部)。