maven打包时配置多环境参数

1. pom配置

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    <!-- 其他配置 -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 只打包指定环境的配置文件 -->
                <includes>
                    <include>application-${profile.active}.properties</include>
                    <include>application.properties</include>
                </includes>
                <!-- 启用过滤 即该资源中的变量将会被过滤器中的值替换 -->
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profile.active>dev</profile.active>
            </properties>
            <!-- 默认环境 -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>long</id>
            <properties>
                <profile.active>long</profile.active>
            </properties>
        </profile>
        <profile>
            <id>sit</id>
            <properties>
                <profile.active>sit</profile.active>
            </properties>
        </profile>
    </profiles>

</project>

2. application配置

yaml 复制代码
spring:
  profiles:
    active: @profile.active@

此处的 profile.active 与 上述 pom.xml 配置文件中的 properties 属性一致

3. 打包

bash 复制代码
mvn clean package -Plong -Dmaven.test.skip=true

-Plong:指定打包的环境为 long

4. 注意

因为在 pom 文件中,修改了打包配置,只会打包进指定环境的配置文件,所以在启动时不用再指定环境参数了

相关推荐
sunshine22 girl15 小时前
Java学习一 环境配置3 Idea中的maven仓库,pom.xml文件配置
学习·maven·intellij-idea
钱栈up19 小时前
mvn compile卡住半小时:定位并修复隐藏的类型不匹配编译错误
java·后端·maven
谢亮_vipxieliang20 小时前
ValidX与Maven/Gradle集成配置指南
java·spring boot·spring·maven·hibernate
砚底藏山河2 天前
存储选型实战:CSV-SQLite-MySQL同机基准(魔码量化实战 #02)
java·数据库·python·金融·maven
蚂蚁雅嘿3 天前
maven标签日常总结
java·maven
菠萝加点糖3 天前
Maven 坐标系统说明
java·maven
砚底藏山河3 天前
拉数管道设计:从一次性脚本到可重启的数据流水线(魔码量化实战 #01)
java·数据库·python·金融·maven
卓怡学长4 天前
w157基于springboot北部湾地区助农平台
java·spring boot·spring·maven·intellij-idea
IT界的老黄牛4 天前
Jenkins 构建卡了 23 天,abort 按钮点了没用
jenkins·maven·prometheus·告警·排查·ci-cd
卓怡学长5 天前
w156一周穿搭App的设计与实现
java·spring boot·spring·maven·intellij-idea