我有application.yml,application-dev.yml和application-dev.yml
mvn spring-boot:run -Dspring.profiles.active=dev,它不能工作,也不能使用mvn spring-boot:run选择开发概要文件。我该怎么选择呢?java -jar XXX.jar --spring.profiles.active=dev有效,我尝试了-Dspring.profiles.active=dev,但它不起作用。在我的项目中,我使用java -jar XXX.jar来运行它,但是如果我使用java -jar XXX.jar --spring.profiles.active=dev选择dev配置文件,控制台打印那么多日志并警告我从未见过已使用的java -jar XXX.jar,并告诉我APPLICATION FAILED TO START。那么如何解决两个问题呢?谢谢~
发布于 2016-10-15 16:01:49
我不确定我是否完全理解这个问题,但我将尝试通过提供关于Spring中的概要文件的一些细节来回答这个问题。
对于您的第一个示例,可以根据文档使用Spring插件使用-Drun.profiles选择配置文件。
编辑:2.0+ run已改名为spring-boot.run,run.profiles已改名为spring-boot.run.profiles
mvn spring-boot:run -Dspring-boot.run.profiles=devhttps://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/maven-plugin/examples/run-profiles.html
从第二个示例中,您将在jar名称之后定义活动概要文件。您需要在运行的jar名称之前提供JVM参数。
java -jar -Dspring.profiles.active=dev XXX.jar一般信息:
您提到您同时拥有一个application.yml和一个application-dev.yml。使用dev配置文件运行将实际加载两个配置文件。来自application-dev.yml的值将覆盖application.yml提供的相同值,但来自两个yml文件的值将被加载。
还有多种方法来定义活动配置文件。
您可以在运行jar时使用-Dspring.profiles.active定义它们。还可以使用SPRING_PROFILES_ACTIVE环境变量或spring.profiles.active系统属性设置配置文件。
更多信息可以在这里找到:https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-set-active-spring-profiles
发布于 2018-05-03 14:00:15
如果您正在使用插件,请运行:
mvn spring-boot:run -Dspring-boot.run.profiles=foo,bar(https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-profiles.html)
发布于 2020-11-16 07:32:23
自春季起启动v2+
下面的备选方案适用于SpringBootv2.0.0和更新版本。
与Spring插件
您可以提供这样的命令行参数:
mvn spring-boot:run -Dspring-boot.run.arguments="--spring.profiles.active=dev"
您可以提供这样的JVM参数:
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dspring.profiles.active=dev"
java -jar
java -Dspring.profiles.active=dev -jar app.jar (VM param)
或
java -jar app.jar --spring.profiles.active=dev (程序param)
--关于Windows 的一个注记
Powershell将需要像这里所示的那样用双引号换行,否则会导致错误,因为它解释句点:java -D"spring.profiles.active=dev" -jar app.jar。
https://stackoverflow.com/questions/40060989
复制相似问题