-
Maven 报出的 Checksum 校验失败警告,其根本原因及解决办法
- 网站名称:Maven 报出的 Checksum 校验失败警告,其根本原因及解决办法
- 网站分类:技术文章
- 收录时间:2025-08-16 14:14
- 网站地址:
“Maven 报出的 Checksum 校验失败警告,其根本原因及解决办法” 网站介绍
你私有仓库(如
http://111.229.204.1XX/repo/)上传的 jar/pom 文件没有附带 .sha1 或 .md5 文件,Maven 无法校验完整性,因此抛出 Checksum validation failed, no checksums available 警告。
是否影响构建?
不会导致构建失败,只是 Maven 的完整性校验机制无法验证该文件是否在传输过程中被篡改或损坏。但若长期忽略此类警告,可能带来安全隐患或不可预测的问题。
推荐解决方案
方案一:在私服开启 checksum 自动生成(最佳)
如果你使用的是:
o Nexus:上传 artifact 时默认会自动生成 .sha1、.md5,但如果你是用手动方式上传(如 curl、scp),可能没生成。解决办法:
# 手动生成 checksum(在 repo 文件夹下执行)
cd /data/repo/com/cjfintech/xxx/1.0.4
sha1sum cjfintech-common-core-1.0.4.jar > cjfintech-common-core-1.0.4.jar.sha1
md5sum cjfintech-common-core-1.0.4.jar > cjfintech-common-core-1.0.4.jar.md5
或:
o 确认 Nexus 中该 repository 的 Deployment Policy 设置为 Allow Redeploy,确保构件可替换上传。
o 建议使用 mvn deploy 上传构件,让 Maven 自动上传 checksum。
方案二:让 Maven 忽略 checksum 校验(开发环境可用,生产不推荐)
在你的 ~/.m2/settings.xml 中添加:
<settings>
<profiles>
<profile>
<id>skip-checksum</id>
<repositories>
<repository>
<id>platformbase</id>
<url>http://111.229.204.1xx/repo</url>
<releases>
<checksumPolicy>ignore</checksumPolicy>
</releases>
<snapshots>
<checksumPolicy>ignore</checksumPolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>skip-checksum</activeProfile>
</activeProfiles>
</settings>
方案三:无视它(如果仅本地开发,构建正常)
你也可以暂时忽略这些警告,只要构建没有失败就可以继续。但建议定期维护你的私服,让构件都附带校验文件。
总结
场景 处理建议
你维护私服 推荐在上传时生成 .sha1 / .md5 文件
本地开发调试 可忽略或在 settings.xml 中关闭校验
构建产物发布生产 强烈建议校验 checksum,避免构件被篡改或损坏
Mac解决详细步骤
你可以使用 Mac 终端快速为本地已下载的 JAR/POM 文件生成缺失的校验文件(.sha1 和 .md5),以便私有 Maven 仓库能提供 checksum 校验。
步骤:为 JAR/POM 文件生成校验文件
假设以下文件已保存在你本地目录下(如
~/Downloads/maven-artifacts/):
o cjfintech-redis-spring-boot-starter-1.0.4.jar
o cjfintech-common-core-1.0.4.jar
o cjfintech-common-spring-boot-starter-1.0.4.jar
o cjfintech-commons-1.0.4.pom
在终端中进入该目录:
cd ~/Downloads/maven-artifacts/
然后运行以下命令批量生成校验文件:
for f in *.jar *.pom; do
sha1sum "$f" | awk '{print $1}' > "$f.sha1"
md5 -q "$f" > "$f.md5"
done
macOS 下 sha1sum 可能没有,可使用替代:
for f in *.jar *.pom; do
shasum "$f" | awk '{print $1}' > "$f.sha1"
md5 -q "$f" > "$f.md5"
done
文件结果示例:
你会看到目录下每个文件都生成了对应的 .sha1 和 .md5 文件,例如:
cjfintech-redis-spring-boot-starter-1.0.4.jar
cjfintech-redis-spring-boot-starter-1.0.4.jar.sha1
cjfintech-redis-spring-boot-starter-1.0.4.jar.md5
...
上传到私服(如 Nexus)
将以上 .jar/.pom/.sha1/.md5 文件一并上传至私有仓库对应目录,Maven 就不会再报 checksum 校验失败。
更多相关网站
- idea整合dockerfile插件,打包镜像(docker环境可不安装)
- 10条军规:电商API从数据泄露到高可用的全链路防护
- 如何使用Java实现多张图片转换为视频
- SpringBoot打包部署解析:jar包的生成和结构
- 从0开始,让你的Spring Boot项目跑在Linux服务器
- SpringBoot动态加载外部Jar:解锁插件化架构的实战指南
- 还在用Swagger?试试这款零注解侵入的API文档生成工具
- SoC验证流程和方法(soc验证技术)
- 如何通过Serverless提高 Java 微服务治理效率?
- Android Studio之gradle的配置与介绍
- 如何搭建maven私有库——jar包管理(三)
- Java-Maven详解(java maven是干嘛的)
- 最全!最强大!Maven知识大全(maven总结)
- 规则引擎 Drools入门(规则引擎 go)
- AlmaLinux 10 上快速安装 Java(OpenJDK 21)全攻略!
- 自定义代码生成器(上)(自定义代码块的作用)
- 把远程进程通讯grpc引入到Spring boot maven项目中
- 基于SpringBoot 的CMS系统,拿去开发企业官网真香(附源码)
- 最近发表
-
- Apache Log4j2远程代码执行漏洞彻底修复建议
- 最详细的 maven 教程,可以收藏(maven入门教程)
- Struts2.3.32升级到2.5.26详细步骤(无敌版)
- 手把手教你:5分钟搞定Zookeeper安装及应用,详细教程
- 阿里强制使用SLF4J日志框架的缘由
- 大数据计算工具:Hive安装与配置详细步骤
- 【紧急预警】关于 Apache Log4j 2 任意代码执行漏洞的高危风险通告
- Apache Log4j高危漏洞,燃爆大厂、燃烧Java开源框架
- SpringBoot项目开发实战销售管理系统——项目框架搭建!
- 带你深入Java Log框架,彻底搞懂Log4J、Log4J2、LogBack,SLF4J
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- acmecadconverter_8.52绿色版 (25)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- virtualdrivemaster (26)
- 数据结构c语言版严蔚敏pdf (25)
- 兔兔工程量计算软件下载 (27)
- 代码整洁之道 pdf (26)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- 方格子excel破解版补丁 (25)
- segoe ui是什么字体 (27)
- head first java电子版 (32)