您的位置:首页 > 其它

Maven Profile多环境打包

2016-06-08 16:58 211 查看
在项目管理中,对于一个项目或者产品,我们经常会有开发,测试,预发布,生产等多套环境。为避免每次打包发布有过多的人为干扰因素,我们可以利用maven的profile来管理配置项。命令:mvn install -P dev

<build>
<outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes/</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>    //定义需要替换配置的文件路径
<filtering>true</filtering>
</resource>
</resources>
<plugins></plugins>
</build>


方法一:

将配置项写在mvn中

<profiles>
<profile>
<id>Local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 打包配置选择 -->
<!-- 公共配置 需要考虑是否单独配置成私有 -->
<mvn.common.username>local</mvn.common.username>
</properties>
</profile>

<profile>
<id>Testing</id>
<properties>
<!-- 打包配置选择 -->
<!-- 公共配置 需要考虑是否单独配置成私有 -->
<mvn.common.username>testing</mvn.common.username>
</properties>
</profile>

<profile>
<id>Pro</id>
<properties>
<!-- 打包配置选择 -->
<!-- 公共配置 需要考虑是否单独配置成私有 -->
<mvn.common.username>pro</mvn.common.username>
</properties>
</profile>
</profiles>


方法二:

将配置项单独写在配置文件中

<profiles>
<profile>
<id>Local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<filters>
<filter>../Test.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>Testing</id>
<build>
<filters>
<filter>../Production.properties</filter>
</filters>
</build>
</profile>
</profiles>
注:

1.profiles定义了各个环境的变量id,activeByDefault定义默认打包的环境

2.resources中是定义哪些目录下的文件会被配置文件中定义的变量替换,一般我们会把项目的配置文件放在src/main/resources下,里面用到的变量在打包时就会根据filter中的变量配置替换成固定值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: