IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Jenkins中Maven本地仓库更新不及时,清除旧的Jar包和依赖缓存,解决构建项目报错问题。 -> 正文阅读

[系统运维]Jenkins中Maven本地仓库更新不及时,清除旧的Jar包和依赖缓存,解决构建项目报错问题。

场景:

项目A依赖项目B,此时项目A可以正常构建,当我修改项目B后,并将B项目Deploy到私服,本地正常运行。

此时再次使用Jenkins构建项目A,构建失败。

报错信息如下:

		[INFO] -------------------------------------------------------------
		[ERROR] COMPILATION ERROR : 
		[INFO] -------------------------------------------------------------
		[ERROR] /var/jenkins_home/workspace/aaa-aaa/src/main/java/com/aaa/aaa/aaa/aaa/aaa/aaa.java:[367,24] cannot find symbol
		symbol:   method setRoomName(java.lang.String)
		location: variable aaaDTO of type com.aaa.aaa.aaa.domain.dto.AaaDTO

在这里插入图片描述

原因:

Jenkins项目配置的使用本地仓库,本地仓库中的jar是旧版本,当Jenkins编译时,在本地仓库找到就直接纳入项目了。

除非本地仓库没有找到,才会去远程仓库拉取。所以构建A时,老的jar没有新版本中新增的内容,导致编译出错。

解决方法(心急的帅哥直接看最后一种方法):

方法一:Jenkins手动清除旧的依赖,缓存

每次部署项目前:

1、进入容器内部。

2、进入本地仓库。

3、将有变动的依赖删除掉,或者简单一点,把所有的依赖都删除。

方法二:项目配置中增加构建前脚本

写脚本将本地仓库依赖清空,每次构建项目前都先清空一下。
这种方法和第一种方法差不多,一个是手动挡,一个是自动挡,本质上还是使用Jenkins中本地仓库,大家应该都喜欢自动挡吧。

方法三:修改Jenkins中maven配置文件。(未测试,仅仅记录一下)

修改~/.m2/settings.xml 或/opt/maven/conf/settings.xml文件,
添加 <updatePolicy>always</updatePolicy>,强制每次都更新依赖库。

		<repositories>
				<repository>
						<id>central</id>
						<url>http://central</url>
						<releases>
								<enabled>true</enabled>
								<updatePolicy>always</updatePolicy>
						</releases>
						<snapshots>
								<enabled>true</enabled>
								<updatePolicy>always</updatePolicy>
						</snapshots>
				</repository>
		</repositories>

方法四:强制使用远程仓库中最新的依赖(推荐

这种方法就没有本地仓库什么事儿了,不会对本地仓库有任何CRUD操作,完全使用私服中的依赖,不存在旧的jar。

系统管理–maven项目配置–local maven Reposiory 选择Loacl to the workspace。OK。

在这里插入图片描述

测试:

现在本地仓库是老的依赖包,我更改系统配置后,构建一下项目。

没毛病。
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:44:38  更:2021-08-05 17:44:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:40:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码