Maven配置文件未激活,默认配置文件除外

时间:2018-12-17 15:02:11

标签: java maven spring-boot pom.xml maven-plugin

我正在开发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 = release。

沮丧的是我无法使用其他个人资料。

1 个答案:

答案 0 :(得分:2)

添加您的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配置文件是不同的。