" -Drun.profiles = .."尝试执行Spring Boot jar

时间:2017-02-27 21:45:17

标签: java spring maven spring-boot

我正在尝试执行以下操作:

C:\Users\Homeuser>java -jar -Djasypt.encryptor.password=testpass -Drun.profiles.active=dev C:\testproj\target\test-0.0.1-SNAPSHOT.jar

但是,运行的版本使用application-local.properties文件中指定的属性,而不是我预期的application-dev.properties文件中指定的属性。我知道这是因为本地版本使用带有伪数据的H2数据库,-dev配置文件使用真实数据连接到真实数据库,我看到的是假数据。在我的application.properties文件中,我有以下设置:

spring.profiles.active=local

这个问题只发生在我首先构建jar然后执行它时。当我使用Eclipse maven运行配置文件中的以下命令时:

clean spring-boot:run -Drun.profiles=dev -Djasypt.encryptor.password=testpass

它正确加载了预期的配置文件。我做错了什么?

谢谢。

1 个答案:

答案 0 :(得分:2)

属性run.profiles是来自spring-boot maven插件的属性。因此,只有在您使用它来运行应用程序时它才有效。如果要在使用jar命令时激活插件,请指定属性spring.profiles.active=dev