使用预定义的概要文件运行Spring Boot JAR



我正在尝试使用java -jar sample.jar命令运行我的JAR文件,并且我正在使用具有以下设置的application.yml配置文件

spring:
profiles:
active:
- dev
---
server:
port: 8081
spring:
profiles: dev
---
server:
port: 8082
spring:
profiles: test

但应用程序无法识别返回
No active profile set, falling back to default profiles: default信息并将端口设置为默认8080 的配置文件

我尝试了
java -jar sample.jar -Drun.jvmArguments=-Dspring.profiles.active=dev
java -jar sample.jar -Dspring.profiles.active=dev之类的东西

在我的pom.xml文件中,我所做的唯一更改是添加<packaging>jar</packaging>属性。

据我所知,maven配置文件是完全不同的,不应该影响春季配置文件。

我不知道该从哪里查找问题,因为当我通过Intellij IDEA中的运行按钮启动应用程序时,它工作得很好,并且可以识别设置为活动的每个配置文件。

这里的实际问题是如何设置默认配置文件以在构建工件时运行,这样就不需要在运行jar的终端命令中放置额外的标志。

我知道有很多像我这样的问题,但他们接受的大多数答案在我的情况下都不起作用,其余的都没有答案。如果你知道这里可能有什么问题,请告诉我。提前感谢您的帮助!

您可以通过命令行参数激活配置文件。在您的尝试中,您将在jar的名称之后定义活动概要文件。您需要在运行的jar的名称之前提供程序参数。

java -jar -Dspring.profiles.active=dev  sample.jar

设置活动配置文件的另一种方法是创建一个具有以下属性的application.properties文件:

spring.profiles.active=prod

最新更新