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);