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

一个是生产打包的时候, 一个是本地测试启动的时候,maven如何配置?

在Maven项目中,使用两套不同的pom.xml配置分别用于生产打包和本地测试启动是常见需求,尤其当你需要调整依赖范围、插件配置或使用不同资源文件时。Maven通过profiles和activeProfiles提供了灵活的配置管理方案,允许你为不同的环境或构建场景定义特定的配置集。

下面是如何利用Maven profiles来满足你的需求:

1. 定义 Profiles

pom.xml文件中添加<profiles>标签,并在其中定义两个profiles,分别命名为productiontest

<project>...<profiles><profile><id>production</id><!-- 生产环境配置 --><dependencies><!-- 生产环境特有的依赖 --><dependency><groupId>...</groupId><artifactId>...</artifactId><version>...</version><scope>provided</scope></dependency></dependencies><build><plugins><!-- 生产环境特有的插件配置 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix><mainClass>com.example.MainClass</mainClass></manifest></archive></configuration></plugin></plugins></build></profile><profile><id>test</id><!-- 测试环境配置 --><dependencies><!-- 测试环境特有的依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies><build><plugins><!-- 测试环境特有的插件配置 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></profile></profiles>...
</project>

2. 指定 Active Profiles

要激活某个profile,你可以在Maven命令行中使用-P参数来指定,例如:

  • 激活生产环境配置

    mvn clean package -Pproduction
    
  • 激活测试环境配置

    mvn clean test -Ptest
    

3. 默认 Profile

如果你希望在没有指定-P参数时,默认激活某个profile,可以在<profiles>标签中使用<activation>元素:

<profiles><profile><id>default</id><!-- 默认配置 --><activation><activeByDefault>true</activeByDefault></activation><!-- 默认配置的内容 --></profile><!-- 其他 profiles -->
</profiles>

这样,如果没有显式激活其他profiles,default profile将被自动激活。

4. 使用条件激活

你还可以根据环境变量、操作系统或其他条件来自动激活某个profile:

<profile><id>production</id><!-- 生产环境配置 --><activation><property><name>env</name><value>prod</value></property></activation>
</profile>

以上配置表示,当环境变量env的值为prod时,production profile将被激活。

通过这种方式,你可以轻松地在不同的构建场景下切换Maven的配置,确保生产打包和本地测试启动时使用最合适的依赖和插件设置。

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

相关文章:

  • 公文字体包下载
  • 主从备份及安装准备
  • 翻译英文的软件,分享3款翻译神器!
  • 软件测试解读——性能效率测试
  • 【PLC】子程序功能心得
  • Iris for mac 好用的录屏软件
  • Transformers实战05-模型量化
  • 【Python】bytes 和 bytearray 到底是什么类型呢?
  • Windows10上安装SQL Server 2022 Express
  • C++11 异常
  • pip下载lap失败
  • 【Material-UI】Button 中的点击事件处理(Handling clicks)详解
  • Spring Cache框架(AOP思想)+ Redis实现数据缓存
  • 在Windows编程中,MFC\C++中如何在OnCopyData中传递Vector类型数据?
  • Java常见面试题-01-java基础
  • Python爬虫实战:利用代理IP爬取百度翻译
  • Transformer学习之DETR
  • 场外个股期权是什么品种?可以交易哪些品种?
  • 每日学术速递8.5-3
  • C#针对kernel32.dll的一些常规使用
  • 电话营销机器人的优势
  • Oracle SQL Developer 连接第三方数据库
  • OSPF路由协议多区域
  • 8.5 C++
  • MySQL —— 初始数据库
  • 【JVM】垃圾回收机制、算法和垃圾回收器
  • 大数据资源平台建设可行性研究方案(58页PPT)
  • PHP教育培训小程序系统源码
  • 吴恩达机器学习笔记
  • React和Vue3 的 Diff 算法有什么区别