您的位置:首页 > 其它

[maven] 项目不同环境自动打包

2017-03-22 10:03 363 查看
应用背景

项目需要发布到本地环境,测试环境和生产环境甚至不同的生产环境上。这时候配置文件的一些参数需要被频繁的修改来修改去。为了解决这样的繁琐工作,就得使用maven profile特性。

步骤

1、将配置文件根据不同的环境配置成多份,并统一命名规则格式。



如上图,抽取了三个环境的配置文件,分别是开发、生产和测试环境。每个环境下文件都是需要根据需求来分别配置的。



2、修改pom.xml文件中资源过滤,请注意 profiles.active ,下面配置profile会用到

<build>

<!-- 打包名称 -->
<finalName>happyday</finalName>

<!--配置Maven 对resource文件 过滤 -->
<resources>
<resource>
<directory>src/main/resources/config-${profiles.active}</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.json</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>

</build>


3、配置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>production</id>
<properties>
<profiles.active>production</profiles.active>
</properties>
</profile>

</profiles>


4、最后,在Intellj IDEA的maven 窗口就能随意选择所需要打包的环境了



是不是so easy?^ ^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: