Maven 如何为不同的环境打包 —— 开发、测试和生产环境

来源:互联网 发布:linux dd 编辑:程序博客网 时间:2024/06/05 04:53

一、配置profile

首先是profile配置,在pom.xml中添加如下profile的配置: 

<profiles>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>product</id>
<properties>
<profiles.active>product</profiles.active>
</properties>
</profile>

</profiles>

二、配置文件

针对不同的环境,我们定义不同的配置文件,而这些配置文件都做为资源文件放到maven工程的resources目录下,即src/main/resources目录下,
且各个环境的配置分别放到相应的目录下,而所有环境都公用的配置,直接放到src/main/resources目录下或WEB-INF/目录下。

三、maven资源插件配置

 在配置文件在resource目录下时,可以直接如下配置:

<build/>
  <filters>
  <filter>${project.basedir}/src/main/resources/environment/env-${profiles.active}.properties</filter>
  </filters>
  <resources>
  <resource>
  <directory>src/main/resources</directory>
  <filtering>true</filtering>
  </resource>
  </resources>
</build>

当配置文件在WEB-INF目录下时,需要增加如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>acfun-online</warName>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>

0 0
原创粉丝点击