Eclipse: 未设置活动配置文件,使用默认配置文件:default。

5
application.properties文件中,我指定了
spring.profiles.active=dev

本应激活application-dev.properties配置文件的配置,但是当我在Eclipse中以Java应用程序形式运行时,出现了以下信息。

No active profile set, falling back to default profiles: default.

我猜这可能和Eclipse有关。 有任何评论吗?

编辑:我尝试了Maven更新项目,然后跟随mvn clean install -U,还尝试重新启动Eclipse和清理项目。 这些都没有起作用...


你的项目中也有 application-dev.properties 文件吗?如果没有,请添加该文件,应该就可以正常工作了。 - Ajay Kumar
@AjayKumar 是的,我在项目中有它。在 src/main/resources 下。 - charlesw
在Eclipse启动时使用配置文件一直都有效,但是Eclipse中的一个bug强制我重新启动Eclipse才能发现该配置文件。不知道为什么Eclipse/Springboot突然停止了查找它。 - Andreas Mattisson
@Andreas Mattisson 我也是。在经历了所有这些麻烦之后,转向了IntelliJ。问题现在解决了 :) - charlesw
2个回答

10

我遇到了相同的问题。

在pom.xml文件中添加以下依赖项后,应用程序开始运行。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

4
每个企业应用程序都有许多环境,比如:devstageprod
每个环境都需要特定的设置。例如,dev env 的数据库设置与 prod env 不同。
在 Spring 中创建多个环境,我们应该为每个环境创建一个属性文件。

enter image description here

NB: 无论使用.properties还是.yml文件,都可以工作

application.yml 将保持为主要的属性文件,但如果我们在特定于配置文件的文件中覆盖任何键,则后者将具有优先权。

按照Spring的常规方式,您可以使用 spring.profiles.active 属性来指定哪些配置文件处于活动状态。您可以通过任何通常的方式指定该属性,例如可以在您的application.yml中包含它:

enter image description here

如果您需要使用多个配置文件,请在命令行上指定要启用的配置文件,并确保用逗号分隔它们:

$ mvn spring-boot:run -Dspring-boot.run.profiles=dev

2
抱歉回复晚了,但是有没有办法在不键入命令行的情况下指定要运行哪些配置文件呢? - charlesw
我也遇到了同样的问题,在添加了一些OAuth2依赖之后!请问有人解决了这个问题吗? - ⵔⴰⴼⵉⵇ ⴱⵓⵖⴰⵏⵉ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接