当前位置: 首页 > news >正文

idea Maven 插件 项目多环境打包配置

背景

  • 不同环境的配置文件不一样,打包方式也有差异

1. 准备配置文件


这里 local 为本地开发环境 可改为 dev 名称自定义 test 为测试环境 prod 为生产环境 根据项目业务自行定义

application.yml 配置

spring:profiles:#对应pom中的配置active: @spring.profiles.active@

2. 配置 pom.xml


根据自身业务需求配置 pom 文件
目前我的项目业务添加如下:

<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><!-- 打包跳过单元测试 --><skipTests>true</skipTests></properties><!-- maven多环境打包配置 --><profiles><!-- 本地开发环境 --><profile><id>local</id><properties><spring.profiles.active>local</spring.profiles.active></properties><!-- 设置为默认环境 --><activation><activeByDefault>true</activeByDefault></activation></profile><!-- 测试环境 --><profile><id>test</id><properties><spring.profiles.active>test</spring.profiles.active></properties></profile><!-- 生产环境 --><profile><id>prod</id><properties><spring.profiles.active>prod</spring.profiles.active></properties></profile><!--jdk1.8--><profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile></profiles><build><finalName>AHL</finalName><plugins><!-- maven 打包插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin><!-- maven 打包时跳过测试 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.20</version><configuration><skipTests>true</skipTests></configuration></plugin><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><configuration><overwrite>true</overwrite><verbose>true</verbose></configuration><dependencies><dependency><groupId>cn.dd</groupId><artifactId>mybatis-generator-comment</artifactId><version>1.0.2</version><scope>system</scope><systemPath>${pom.basedir}/src/main/webapp/WEB-INF/lib/mybatis-generator-comment.jar</systemPath></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version></dependency></dependencies></plugin></plugins><resources><resource><directory>src/main/resources</directory><!--开启过滤,用指定的参数替换directory下的文件中的参数--><filtering>true</filtering></resource></resources></build>

以下是可自定义修改 maven 插件配置文件包,必须添加

<properties><maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format></properties><build><!-- 打包名格式:项目名-环境-打包时间.jar --><finalName>${project.artifactId}-${spring.profiles.active}-${maven.build.timestamp}</finalName><plugins><!-- maven 打包插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--打包时允许添加本地jar包--><includeSystemScope>true</includeSystemScope></configuration></plugin><!-- maven 打包时跳过测试 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.20</version><configuration><skipTests>true</skipTests></configuration></plugin><!-- 添加打包时间戳,没有需求可以不加 --><plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>3.2.0</version><executions><execution><id>timestamp-property</id><goals><goal>timestamp-property</goal></goals><configuration><name>module.build.timestamp</name><pattern>${maven.build.timestamp.format}</pattern><locale>zh_CN</locale><timeZone>Asia/Shanghai</timeZone></configuration></execution></executions></plugin></plugins><resources><resource><directory>src/main/resources</directory><!--开启过滤,用指定的参数替换directory下的文件中的参数--><filtering>true</filtering></resource></resources></build><!-- maven多环境打包配置 --><profiles><!-- 开发环境 --><profile><id>dev</id><properties><spring.profiles.active>dev</spring.profiles.active></properties><!-- 设置为默认环境 --><activation><activeByDefault>true</activeByDefault></activation></profile><!-- 生产环境 --><profile><id>prod</id><properties><spring.profiles.active>prod</spring.profiles.active></properties></profile><!-- 测试环境 --><profile><id>test</id><properties><spring.profiles.active>test</spring.profiles.active></properties></profile></profiles>

配置完成后 IDEA 的 maven 会出现勾选框

3. 配置启动项


配置完成后运行对应环境的启动项打包对应环境的包

4. 异常


配置完以后运行或者 clean 后运行,可能会出现 Do not use @ for indentation 异常,尝试切换配置后点击 reload 按钮后再运行。

http://www.lryc.cn/news/343332.html

相关文章:

  • 密室逃脱游戏-第12届蓝桥杯省赛Python真题精选
  • ES6-自学01
  • PyQt5批量生成Checkbox及批量检查Checkbox的勾选状态
  • 如何获得一个Oracle 23ai数据库(Virtual Appliance)
  • 跟TED演讲学英文:What moral decisions should driverless cars make by Iyad Rahwan
  • 【ITK配准】第七期 尺度(Metric)-规格化交互信息Metric
  • Python练习 20240508一次小测验
  • 桥梁施工污水需要哪些工艺设备
  • ADOP带你了解:长距离 PoE 交换机
  • 想要品质飞跃?找六西格玛培训公司就对了!
  • 【工具】Office/WPS 插件|AI 赋能自动化生成 PPT 插件测评 —— 必优科技 ChatPPT
  • 4000定制网站,因为没有案例,客户走了
  • 内容安全(AV)
  • 互联网产品为什么要搭建会员体系?
  • 富格林:学习安全策略远离欺诈亏损
  • 学QT的第二天~
  • QSplitter分裂器的使用方法
  • AI-数学-高中52-离散型随机变量概念及其分布列、两点分布
  • Amazon IoT 服务的组件
  • 24_Scala集合Map
  • Agent AI智能体:我们的生活即将如何改变?
  • 浪子易支付 最新版本源码 增加杉德、付呗支付插件 PayPal、汇付、虎皮椒插件
  • Java|用爬虫解决问题
  • 美国站群服务器的CN2线路在国际互联网通信中的优势?
  • 人工智能哪些大学比较好
  • 【每日力扣】141. 环形链表与142. 环形链表 II
  • 考研逆天改命,双非逆袭985!
  • 群晖上部署农场管理系统farmOS
  • Python中的property装饰器:深入解析与实用示例
  • 【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行