Java传递并获取系统属性
对于可以通过java命令直接执行的jar包或者类,执行jar包时可以通过-D配置系统属性,-D
是 JVM 参数,用于设置系统属性
命令 java -Dprop=12 xxx.jar
,可以通过以下方式获取 prop
属性的值:
public class Main {
public static void main(String[] args) {
// 获取 -Dprop=12 中的 prop 属性值
String propValue = System.getProperty("prop");
// 打印属性值
if (propValue != null) {
System.out.println("prop 的值为: " + propValue);
} else {
System.out.println("prop 未设置");
}
}
}
-
System.getProperty(String key)
:-
用于获取通过
-D
参数设置的系统属性。 -
如果属性未设置,返回
null
。
-
-
-D
参数:-
-D
是 JVM 参数,用于设置系统属性。 -
格式为
-Dkey=value
,例如-Dprop=12
。
-
-
默认值:
如果属性可能未设置,可以通过System.getProperty(String key, String defaultValue)
提供一个默认值:
String propValue = System.getProperty("prop", "defaultValue");
Maven传递并获取系统属性
Maven 允许在 pom.xml
中通过 ${propertyName}
的方式引用系统属性。
运行命令 mvn -Dprop=true -f pom.xml clean install,在pom中可以通过下面的方式引用prop属性,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>prep-tp</id>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo message="Preparing target platform..." />
</target>
</configuration>
</execution>
</executions>
</plugin>