【发布时间】:2021-01-12 18:26:43
【问题描述】:
我正在尝试使用 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 配置文件是完全不同的东西,不应该影响 spring 配置文件。
我不知道在哪里寻找问题,因为当我通过 Intellij IDEA 中的 Run 按钮启动应用程序时,它可以完美运行并识别每个设置为活动的配置文件。
这里的实际问题是如何设置默认配置文件以在构建工件时运行,因此无需在运行 jar 的终端命令中放置额外的标志。
我知道有很多像我这样的问题,但他们接受的大多数答案在我的情况下都不起作用,其余的都没有答案。如果您知道这里可能存在什么问题,请告诉我。提前感谢您的帮助!
【问题讨论】:
标签: java spring jar executable-jar