maven 多环境打包

项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,通过maven可以实现按不同环境进行打包部署,命令为: 

mvn package -P dev

其中“dev“为环境的变量id, 可以自己定义, 我定义的名称为:dev,qa,pre,prod , 具体在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 http://maven.apache.org/maven-v4_0_0.xsd"><profiles>  
        <profile>  
            <id>dev</id>  
            <properties>  
                <env>dev</env>  
            </properties>  
            <activation>  
                <activeByDefault>true</activeByDefault>  <!-- 默认启动环境 -->
            </activation>  
        </profile>  
        <profile>  
            <id>qa</id>  
            <properties>  
                <env>qa</env>  
            </properties>  
        </profile>  
        <profile>  
            <id>pre</id>  
            <properties>  
                <env>pre</env>  
            </properties>  
        </profile>  
        <profile>  
            <id>prod</id>  
            <properties>  
                <env>prod</env>  
            </properties>  
        </profile>  
    </profiles>  
      
  <build>  
        <filters>  
            <filter>config/${env}.properties</filter> 
       <!-- env 对应上面的 dev qa prod 指定了环境配置文件的路径 如../config-${env}.properties --> </filters> <resources> <resource> <directory>src/main/resources</directory> <!-- maven项目的默认配置文件路径,环境配置文件里的值将替换该路径下的值 --> <filtering>true</filtering> </resource> </resources> ...... </build> </project>
原文地址:https://www.cnblogs.com/caer/p/6169316.html