当前位置: 代码网 > it编程>编程语言>Java > Spring如何配置文件动态读取pom.xml中的属性

Spring如何配置文件动态读取pom.xml中的属性

2024年10月24日 Java 我要评论
spring配置文件动态读取pom.xml属性需求:配置文件中的spring.profiles.active=${env}需要打包时动态绑定。方案1.在pom.xml文件中配置启用占位符替换 <

spring配置文件动态读取pom.xml属性

需求:

配置文件中的

spring.profiles.active=${env}

需要打包时动态绑定。

方案

1.在pom.xml文件中配置启用占位符替换

 <profiles>
        <!-- 本地开发 -->
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activebydefault>true</activebydefault>
            </activation>
        </profile>
        <!-- 其他环境 -->
 </profiles>
 <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
</build>

maven 中 <filtering> 的默认值是 false

这意味着在复制资源文件时,maven 不会对文件进行占位符替换(即过滤)。

2.在配置文件中配置 spring.profiles.active=@env@或者 spring.profiles.active=${env}

3.打包时选择环境 mvn clean package -pprod

  • -p 参数用于激活 maven 构建中的特定配置文件(profile)

自定义占位符

如果担心冲突,那么可以自定义占位符。

<build>
    <plugins>
        <plugin>
            <groupid>org.apache.maven.plugins</groupid>
            <artifactid>maven-resources-plugin</artifactid>
            <version>3.2.0</version>
            <configuration>
                <delimiters>
                    <delimiter>#{</delimiter>
                    <delimiter>}</delimiter>
                </delimiters>
                <usedefaultdelimiters>false</usedefaultdelimiters>
            </configuration>
   		</plugin>
    </plugins>
</build>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com