Jenkins运行Maven构建报maven-release-plugin:jar:3.8.2缺失问题咨询
问题原因
- 核心错误是你POM中配置的
org.apache.maven.plugins:maven-release-plugin版本3.8.2不存在:该插件的官方正式发布版本最高仅到3.0.x,3.8.2是Maven核心工具的版本号,不是该插件的版本号,属于版本号混淆问题。 - 本地执行成功的原因是你的本地Maven配置包含公共中央仓库的插件源,或者本地仓库已经缓存了该插件的可用历史版本,会自动降级使用可获取的版本完成构建;而Jenkins环境的Maven配置仅使用你内网的Artifactory作为唯一依赖源,你的私仓中没有该不存在的版本,且私仓没有配置正确的公共代理拉取规则,因此直接构建失败。
- 报错提示中的缓存说明是因为Jenkins节点的Maven本地仓库已经缓存了该版本不存在的查询结果,默认不会重复发起请求,进一步导致构建直接失败。
解决方案
- 首先修改pom.xml中maven-release-plugin的版本为官方存在的正式版本,推荐使用已经验证可用的2.5.3版本,或者最新稳定版3.0.1,修改示例如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <!-- 替换为正确的版本号,禁止使用不存在的3.8.2 --> <version>2.5.3</version> <configuration> <tagNameFormat>v@{project.version}</tagNameFormat> <autoVersionSubmodules>true</autoVersionSubmodules> </configuration> </plugin>
- 检查Jenkins节点使用的Maven settings.xml配置,确保插件仓库(pluginRepositories)配置正确,你使用的Artifactory私仓需要开启Maven中央仓库的代理规则,保证公共插件可以正常拉取;如果不允许公网访问,可手动将需要的插件版本上传到你的私仓release库中。
- 调整Jenkins的构建命令,添加-U参数强制更新依赖缓存,避免之前的失败缓存影响构建:
mvn clean package deploy -U - 确认Jenkins节点到Artifactory服务的网络连通性、访问权限配置正常,无拦截或认证问题。
内容的提问来源于stack exchange,提问作者Rahul9911
相关产品推荐
相关产品推荐

