我正在尝试执行以下操作:
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
它正确加载了预期的配置文件。我做错了什么?
谢谢。
答案 0 :(得分:2)
属性run.profiles
是来自spring-boot
maven插件的属性。因此,只有在您使用它来运行应用程序时它才有效。如果要在使用jar
命令时激活插件,请指定属性spring.profiles.active=dev
。