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

Gitlab跑CICD的时候,maven镜像和pom.xml使用的maven版本冲突导致没办法build成功的解决方法

是这样的!最近遇到一个非常棘手的难题,我搞了大概2周时间才把他弄出来,因为自己搭了个私服的maven仓库,他不像maven官方仓库一样,可以跟nginx一样转的,所以遇到好几个难点!

第一点:就是maven镜像冲突

解决思路

build:stage: buildimage: maven:3.8.4-openjdk-8tags: [build]cache:key: "$CI_COMMIT_REF_SLUG"paths:- .m2/repository/before_script:    # 创建本地仓库目录- mkdir -p .m2/repository# 复制已有缓存- if [ -d "你项目/m2" ]; then cp -r 你项目/m2/* .m2/repository/ || true; fi

将你本地的.m2/repository的下面所以得依赖包上传到你项目上,我是在我项目下面建立了一个m2文件夹,上传到这里,然后在CICD的yml, build 下的这个before_script 提前复制到,然后建立一个setting.xml文件,用这个跑mvn install命令

    - mvn $MAVEN_CLI_OPTS -f pom.xml -s settings.xml -f pom.xml clean install  -X

这个setting文件要写成这样

<!-- src/main/resources/nexussettings.xml -->
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"><localRepository>${user.dir}/.m2/repository</localRepository><servers><server><id>nexus-mirror</id><username>账号</username><password>密码</password></server></servers><!-- 配置镜像,替换中央仓库为 Nexus --><mirrors><mirror><id>nexus-mirror</id><url>http://nexus.com:8081/repository/group/</url><mirrorOf>central</mirrorOf></mirror></mirrors>
</settings>

这个mirrors是指,你maven依赖的所有包的请求必须走这个你设置好的mirror的URL

还有这个localRepository是你项目在git上跑CICD的依赖包本地路径

一般都是这样写的!。如果不知道位置,你可以去看你跑CICD 有一个Repository的显示路径,我这个是相对路径,如果要绝对路径也行,自己弄进去!哈哈哈,这样maven不同版本冲突就解决了


文章转载自:
http://annelida.lbooon.cn
http://boxhaul.lbooon.cn
http://actinouranium.lbooon.cn
http://axolotl.lbooon.cn
http://calcite.lbooon.cn
http://castanets.lbooon.cn
http://ascetical.lbooon.cn
http://aglare.lbooon.cn
http://bearskin.lbooon.cn
http://animatingly.lbooon.cn
http://await.lbooon.cn
http://christendom.lbooon.cn
http://abrazo.lbooon.cn
http://cervelas.lbooon.cn
http://aerotrain.lbooon.cn
http://anabolism.lbooon.cn
http://alchemistically.lbooon.cn
http://cavalletti.lbooon.cn
http://banderole.lbooon.cn
http://ample.lbooon.cn
http://atonement.lbooon.cn
http://aleph.lbooon.cn
http://armer.lbooon.cn
http://brewing.lbooon.cn
http://barkeep.lbooon.cn
http://bible.lbooon.cn
http://asymptotical.lbooon.cn
http://chalcopyrite.lbooon.cn
http://altercation.lbooon.cn
http://allegiant.lbooon.cn
http://www.dtcms.com/a/280703.html

相关文章:

  • [附源码+数据库+毕业论文+开题报告]基于Spring+MyBatis+MySQL+Maven+jsp实现的车辆运输管理系统,推荐!
  • 2025-7-15-C++ 学习 排序(4)
  • langchain教程10:LCEL
  • 【c++】c++11新特性(右值引用和移动语义)
  • PySpark 常用算子详解
  • 【BUG处理】构建APK时遇到错误:‘flutter‘ 命令未被识别。这通常表示您的系统中未安装Flutter SDK或环境变量配置不正确。
  • 牛客:HJ20 密码验证合格程序[华为机考][字符串]
  • 【源力觉醒 创作者计划】文心4.5 vs DeepSeek vs Qwen 3.0:三大能力硬核实测!谁才是王者?
  • 纸板加工制造学习1
  • CF37E Trial for Chief 题解
  • 青年科学基金项目答辩PPT模板 | 杰青优青ppt设计制作美化 | WordinPPT
  • uni-app 学习笔记:Vuex 持久化数据
  • 【C++】神奇的AVL树
  • Java单元测试JUnit
  • 使用 Java 获取 PDF 页面信息(页数、尺寸、旋转角度、方向、标签与边框)
  • 已知均数与标准差,如何生成一组正态分布数据?
  • EPLAN 电气制图(九):直流电源绘制+端子排绘制
  • 线程(二) linux 互斥
  • JVM——有哪些常见的垃圾收集器
  • Props
  • 时序数据库与AI的融合:智能时代的数据基石
  • 027_国际化与本地化
  • Spring应用抛出NoHandlerFoundException、全局异常处理、日志级别
  • FreeRTOS学习笔记——移植说明、任务创建
  • 【Ubuntu22.04】repo安装方法
  • Linux715 磁盘管理:逻辑卷
  • 聊聊MySQL中的buffer pool
  • Spring Boot目录变文件夹?3步解决!
  • Unity Editor下拉框,支持搜索,多层级
  • BGP服务器和多线服务器的不同之处