Spring 从命令行覆盖启动属性文件
Spring boot properties file override from command line
我在使用 Spring 从命令 line.I 启动和 fat jar 调用时遇到问题,我试图从命令行覆盖 属性 但没有成功。
我在代码中有参数:
@Value("${param1}")
private String param1;
而且我已经将 application.properties 文件放入 src\main\resources 中,内容如下;
param1=Param 1 value from properties file
当我构建 jar 和 运行 时:
java -jar java-apns-notifier-0.1.0.jar --param1=Aaaaaaaaa
param1 使用来自 application.properties 文件的值打印,不考虑来自命令行的值。
项目源码为here
有什么想法吗?
您忘记在应用程序中传递参数 class。
你只需要改变
SpringApplication.run(Application.class);
至
SpringApplication.run(Application.class, args);
我在使用 Spring 从命令 line.I 启动和 fat jar 调用时遇到问题,我试图从命令行覆盖 属性 但没有成功。
我在代码中有参数:
@Value("${param1}")
private String param1;
而且我已经将 application.properties 文件放入 src\main\resources 中,内容如下;
param1=Param 1 value from properties file
当我构建 jar 和 运行 时:
java -jar java-apns-notifier-0.1.0.jar --param1=Aaaaaaaaa
param1 使用来自 application.properties 文件的值打印,不考虑来自命令行的值。
项目源码为here
有什么想法吗?
您忘记在应用程序中传递参数 class。 你只需要改变
SpringApplication.run(Application.class);
至
SpringApplication.run(Application.class, args);