我正在开发Spring Boot应用程序。我在POM中有两个配置文件,但是当我尝试使用clean install -Pdev构建项目时,它不反映application.properties中的更改,它仅反映当我在其中一个配置文件中使用'activeByDefault'标签时。

<profiles>
<profile>
    <id>dev</id>
    <properties>
        <activatedProperties>dev</activatedProperties>
    </properties>

</profile>
<profile>
    <id>release</id>
    <activation>
        <activeByDefault>false</activeByDefault>
    </activation>
    <properties>
        <activatedProperties>release</activatedProperties>
    </properties>
</profile>

</profiles>


如果我正在运行全新安装-Pdev,则会在我的application.properties中得到它。
ActivatedProperties = @ activatedProperties @

如果设置<activeByDefault>true</activeByDefault>,则将在application.properties中获取该值。
ActivatedProperties =发布。

令人沮丧的是我无法使用其他配置文件。

最佳答案

添加您的application.properties

spring.profiles.active=@activatedProperties@


如果Maven在运行时找不到包含application.properties文件的目录,则需要设置Maven资源插件来过滤该目录。

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    ...
</build>


或者只添加要在application.properties中激活的配置文件

spring.profiles.active=dev


注意:Maven配置文件和Spring配置文件是不同的东西。

关于java - Maven配置文件未激活,默认配置文件除外,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53817825/

10-10 09:22
查看更多