我有一个启用Spring Profile的应用程序,其中有两个配置文件[cat | dog]并且在使用Maven的Idea中运行所需的配置文件很好:
clean compile package exec:java -Dspring.profiles.active = dog
我希望从命令行运行打包的jar,但似乎无法找到正确的语法来设置配置文件。我尝试了以下但没有一个是正确的:
java -cp myShadedJar-1.0-SO-static.jar org.my.package.Main --spring.profiles.active=dog
java -cp myShadedJar-1.0-SO-static.jar org.my.package.Main -Drun.arguments="--spring.profiles.active=dog"
java -cp myShadedJar-1.0-SO-static.jar org.my.package.Main -Drun.arguments="spring.profiles.active=dog"
java -cp myShadedJar-1.0-SO-static.jar org.my.package.Main -Dspring.profiles.active=dog
从CLI运行时传递Spring属性的正确方法是什么?
提前致谢, KA。
答案 0 :(得分:3)
根据Spring Docs,您可以设置JVM属性或Env Var。
java -jar -Dspring.profiles.active=dog myShadedJar-1.0-SO-static.jar
或(* NIX Systems)
SPRING_PROFILES_ACTIVE=dog java -jar myShadedJar-1.0-SO-static.jar