我需要使用的库以下列方式读取系统属性:
System.getProperty("library.system.property")
有没有办法在启动应用程序时将这样的属性传递给spring boot,或者我是否需要在系统中设置它?
答案 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