命令行的Spring属性

时间:2017-03-01 08:36:53

标签: java spring command-line properties

我有一个启用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。

1 个答案:

答案 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