maven分环境部署
来源:互联网 发布:linux中cp命令 编辑:程序博客网 时间:2024/05/21 17:49
maven实现分环境打包部署
由于开发环境、测试环境和生产环境配置不同的情况,可能在程序猿打包时总是需要修改配置文件或代码,针对这种情况,maven分环境部署就变得十分有必要了。针对maven项目,要使用Jenkins分环境部署,maven项目配置流程如下:
第一步:将环境不同的配置抽取变量放入配置文件
在src/java/resource中增加环境配置文件夹,例如:dev、test、pro如图:第二步:修改pom.xml
(1)将要分别部署的文件夹名称进行id配置,如下:
<profiles> <profile> <id>dev</id> <properties> <package.environment>dev</package.environment> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>pro</id> <properties> <package.environment>pro</package.environment> </properties> </profile> <profile> <id>test</id> <properties> <package.environment>test</package.environment> </properties> </profile> </profiles>
(2)配置maven插件:
<!-- war打包插件, 设定war包名称不带版本号 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <webResources> <!--动态指定文件--> <resource> <directory>src/main/resources/${package.environment}</directory> <targetPath>WEB-INF/classes</targetPath> <filtering>true</filtering> </resource> </webResources> </configuration></plugin>
配置具体意义如下:
(3)然后是关键配置,在build标签下进行如下配置首先配置打包时过滤掉所有的环境配置文件夹,然后配置通过命令传输过来的要使用的文件夹,具体如下:
<resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>test/*</exclude> <exclude>pro/*</exclude> <exclude>dev/*</exclude> </excludes> </resource> <resource> <directory>src/main/java</directory> <filtering>true</filtering> <includes> <include>**/*.xml</include> </includes> </resource></resources>
配置意思具体如下:
最后,使用maven命令就可以进行分环境打包了,命令:
package -P pro 打一个生产环境的包
或者
package -P dev 打开发环境的包
这种方式的优点在于,打出来的包是不体现分环境部署的其他文件和文件夹的,打出的包目录中不包含dev、test、pro文件夹,如下:
maven分环境部署的写法有很多种,有兴趣可以好好研究研究,希望可以帮助大家!
阅读全文
0 0
- maven分环境部署
- maven分环境打包方案
- Maven ProfileFilter 分环境运行
- Jenkins+maven+git环境部署
- 超分软件[客户机]安装环境部署
- maven分项目模块开发环境调试
- Maven分模块项目环境搭建
- Spring MVC Maven 环境搭建与部署
- maven管理多环境开发部署
- eclipse中maven环境部署以及使用
- Maven 对不同的部署环境打包
- springboot maven 配置多环境部署
- Jenkins+SVN+Maven自动化部署环境搭建
- Jenkins+SVN+Maven 自动化部署环境搭建
- Maven + Eclipse 分模块开发,依赖打包部署
- 【maven】5、Maven 多环境部署(filters、resources、profiles)
- maven项目开发环境搭建之二maven部署
- Jenkins+Maven+SVN搭建自动部署,自动测试环境
- 全志R16平台的Android6系统下调通rtl8189es(分色排版)V1.0
- ROS学习--RoboWare Studio的使用和发布器/订阅器的编写与测试
- 虚基类的子类的构造函数
- freemarker之空值处理解决方案
- 关于opencv基础的设置的笔记
- maven分环境部署
- HDU 6168
- 函数指针
- Anaconda jupyter 出现 kernel error 解决办法
- [FAQ20158]N版本双卡铃声
- qt设置字体和多语言
- 用于并行计算的多线程数据结构,第 1 部分: 设计并发数据结构
- windows编程 IPC 文件映射(File Mapping)
- 9.1-9. JLL实习日志-未完结