Maven根据不同环境打包不同配置文件

来源:互联网 发布:淘宝客代理 编辑:程序博客网 时间:2024/05/21 10:56

项目开发的时候经常会遇到这样的问题:开发环境,测试环境,生产环境的配置文件(数据库、reids、mq、mongo等)不同,打包时经常要手动更改配置文件,改来改去的经常会出错。

现在我们可以用maven插件去实现(pom.xml文件代码):


 <build>    <plugins>      <!-- 资源插件 -->      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-resources-plugin</artifactId>        <executions>          <execution>            <id>copy-resources</id>            <phase>validate</phase>            <goals>              <goal>copy-resources</goal>            </goals>            <configuration>              <outputDirectory>src/main/resources</outputDirectory>              <resources>                <resource>                  <directory>src/main/resources/conf/${configPath}</directory>                  <filtering>true</filtering>                  <includes>                    <include>*.properties</include>                  </includes>                </resource>              </resources>            </configuration>          </execution>        </executions>      </plugin>    </plugins>  </build>  <profiles>    <profile>      <id>dev</id>      <properties>        <configPath>dev</configPath>      </properties>      <activation>        <activeByDefault>true</activeByDefault>      </activation>    </profile>    <profile>      <id>prod</id>      <properties>        <configPath>prod</configPath>      </properties>    </profile>    <profile>      <id>test</id>      <properties>        <configPath>test</configPath>      </properties>    </profile>  </profiles>

    这样我们在进行打包的时候可以使用命令:


mvn package  -P prod -Dmaven.test.skip=true

或者             mvn package  -P test -Dmaven.test.skip=true  这样就会根据  prod和test   去不同的目录


src/main/resources/conf/dev   或者是 
src/main/resources/conf/prod 下的配置文件。

原创粉丝点击