Java 正确使用属性maven插件设置系统属性?
我试图使用Java 正确使用属性maven插件设置系统属性?,java,maven,Java,Maven,我试图使用properties-maven-plugin来设置一个可以在Java类中检索的系统变量。在我的pom.xml文件中,我有: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.0-alpha-2</version>
properties-maven-plugin
来设置一个可以在Java类中检索的系统变量。在我的pom.xml
文件中,我有:
<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.propertyName</name>
<value>value</value>
</property>
</properties>
</configuration>
</execution>
</executions>
</plugin>
但这行代码返回null
我如何使它工作o) 您在哪里需要这个?在测试运行期间?不,实际上是在代码的生产运行期间。我需要调用代码为我的类提供一个属性文件,以便它知道要使用哪些参数进行操作。我希望他们能够将pom.xml中的路径传递给我。我想如果我使用一个系统变量,我可以在我的pom中设置一个默认值,他们可以在他们的pom中覆盖它。如果你有更巧妙的解决方案,我愿意接受o) 如果是在代码的生产运行期间,maven就在那里……生产代码的属性文件可以简单地放入
src/main/resources
中,然后打包到生成的jar文件中……我认为这里的常用方法是在settings.xml
中设置所需的属性,在一些属性文件中放置占位符,并在启动时在应用程序中读取。插件将在Maven构建的执行过程中向系统属性添加my.propertyName
。在那之后,它就消失了。
String value = System.getProperty("my.propertyName");