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

maven如何区分多环境配置

当项目需要测试环境和生产环境的maven仓库隔离,如何进行maven的仓库隔离的配置设置

1. 新增settings-pro文件

这个文件配置你的线上maven仓库地址

2. pom文件进行修改 新增环境配置 引入profile

注意事项

  • 默认激活:如果希望某个配置文件在未指定其它配置文件时处于激活状态,使用 <activeByDefault>true</activeByDefault>
  • 多个配置文件:可以同时激活多个配置文件:mvn clean install -P dev,other-profile
  • 环境变量:配置文件也可以基于环境变量激活,无需修改 POM 文件即可进行外部配置。

高效使用 Maven 配置文件可以帮助您轻松管理不同环境下的复杂构建和部署。

<profiles>
    <!-- 开发环境配置 -->
    <profile>
        <id>dev</id>
        <distributionManagement>
                    <repository>
                        <!--必须与 settings.xml 的 id 一致-->
                        <id>xx</id>
                        <name>xx</name>
                        <url>xxxxxxx</url>
                    </repository>
        </distributionManagement>
    </profile>
    <profile>
        <id>test</id>
        <distributionManagement>
            <repository>
                <!--必须与 settings.xml 的 id 一致-->
                <id>xxxxxxx</id>
                <name>xxxxxxx</name>
                <url>xxxxxxx</url>
            </repository>
        </distributionManagement>
    </profile>
    <profile>
        <id>pro</id>
        <distributionManagement>
            <repository>
                <!--必须与 settings.xml 的 id 一致-->
                <id>xxxxxxx</id>
                <name>xxxxxxx</name>
                <url>xxxxxxx</url>
            </repository>
        </distributionManagement>
    </profile>
</profiles>

3. 激活 Profile

要激活特定的 profile,可以在命令行中使用 -P 参数。例如:

  • 激活开发环境配置:

mvn clean deploy -P dev
  • 激活测试环境配置:

mvn clean deploy -P test

  • 激活生产环境配置:

​​​​​​​ mvn clean deploy -P pro

4. 上传

1. Install

D:\java\mavan\apache-maven-3.9.8-bin\apache-maven-3.9.8\bin\mvn install -P pro -s ./settings-pro.xml

2. 打包

D:\java\mavan\apache-maven-3.9.8-bin\apache-maven-3.9.8\bin\mvn clean package -P pro -s ./settings-pro.xml -Dmaven.test.skip=true

3. 推送

D:\java\mavan\apache-maven-3.9.8-bin\apache-maven-3.9.8\bin\mvn deploy -P pro -s ./settings-pro.xml -DskipTests

相关文章:

  • 尝试在软考62天前开始成为软件设计师-信息系统安全
  • 模糊数学 | 模型 / 集合 / 关系 / 矩阵
  • value-key 的作用
  • C语言为什么不考虑对齐规则?
  • Go常见问题与回答(上)
  • 100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)
  • 机器学习——神经网络、感知机
  • 【AIGC】WIN10极速部署OpenManus(含WEB界面)
  • Linux实操篇-权限管理
  • 【机器学习】什么是支持向量机?
  • [操作系统] 进程间通信:进程池的实现
  • 解读InnoDB数据库索引页与数据行的紧密关联
  • 如何在 React 项目中进行服务器端渲染(SSR),它有什么优势
  • [学成在线]06-视频分片上传
  • BMS电池管理系统上下电过程
  • AVLTree
  • 单片机串口打印调试信息①
  • AI卫浴官:机器学习如何预判您的生理时钟
  • uniapp uni-drawer组件vue3写法
  • 【C++经典例题】寻找字符串中第一个不重复字符的索引
  • 讲一个香港儿童的故事,《劏房的天空》获“周庄杯”特等奖
  • 外交部:中方愿根据当事方意愿,为化解乌克兰危机发挥建设性作用
  • 甩掉“肥胖刺客”,科学减重指南来了
  • 欧阳娜娜携家人回江西探亲,受聘为江西吉安文化旅游大使
  • 印度外交秘书:印巴军方将于12日再次对话
  • 碧桂园:砸锅卖铁保交房、持续推进保主体,尽快让公司恢复正常经营