Maven Profile多环境打包
2016-06-08 16:58
211 查看
在项目管理中,对于一个项目或者产品,我们经常会有开发,测试,预发布,生产等多套环境。为避免每次打包发布有过多的人为干扰因素,我们可以利用maven的profile来管理配置项。命令:mvn install -P dev
方法一:
将配置项写在mvn中
方法二:
将配置项单独写在配置文件中
<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中的变量配置替换成固定值
<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中的变量配置替换成固定值
相关文章推荐
- swift中变量的get和set
- QCustomPlot绘制时间日期折线图
- eeprom读写
- jQuery判断元素上是否绑定了指定事件的方法
- linux 命令
- Shiro Review——权限管理基础知识
- 数字验证正则
- android CoordinatorLayout使用
- 补充程序之游戏系列— 4 游戏中的角色类增强版 (2)
- 文章标题
- js、jq实现省市级联
- Qt之QStackedWidget
- java基础--监听器
- Android之JNI NDK错误 No JNI_OnLoad found in /data/data/
- android权限大全
- Eclipse 安装 svn
- 我的数组类
- Qt之QStackedWidget
- Java实现红黑树
- PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法