将系统属性传递给spring boot

时间:2015-12-15 19:23:42

标签: java spring spring-boot

我需要使用的库以下列方式读取系统属性:

System.getProperty("library.system.property")

有没有办法在启动应用程序时将这样的属性传递给spring boot,或者我是否需要在系统中设置它?

4 个答案:

答案 0 :(得分:10)

您可以在命令行上传递它:

java -Dlibrary.system.property=value -jar myapp.jar 

答案 1 :(得分:3)

你也可以这样做:

public static void main(String[] args) {
    System.setProperty("key", "value");
    SpringApplication.run(MyApplication.class);
}

答案 2 :(得分:3)

更新2020-01-08

在开发时用于春季启动 2.2.2.RELEASE

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dmy_-Dmy_system_properties=test1"

在开发过程中用于春季启动 1.5.x.RELEASE 或更低版本

mvn spring-boot:run -Drun.jvmArguments="-Dmy_system_properties=test1"

jar

的身份运行
java -Dmy_system_properties=test1 -jar service.jar 

您可以尝试一个可运行的示例,这里https://www.surasint.com/spring-boot-pass-system-properties-in-command-line/

答案 3 :(得分:2)

如果您使用spring-boot maven插件来执行应用程序,请尝试(没有换行符)

mvn spring-boot:run -Drun.jvmArguments="-Xms2048m -Xmx4000m -XX:MaxPermSize=2048m 
-Dlibrary.system.property=value"

有关其他详细信息,请参阅maven plugin