java校验maven下载的jar文件
程序员文章站
2022-07-01 23:14:08
有时候maven真的很坑! 有时候提示invalid LOC header (bad signat signature), 但又有时候什么都不提示,工程报错,情况有肯多中,不知道大家遇到过几种诡异的. ......
有时候maven真的很坑!
有时候提示invalid loc header (bad signat signature),
但又有时候什么都不提示,工程报错,情况有肯多中,不知道大家遇到过几种诡异的.
很多人说加-u参数或在maven插件选择强制刷新等操作,但很不好使,一点用都没有.
今天我就遇到pom提示第一行错误,这怎么可能?其他任何地方都不报错,用mvn命令的时候才能看到jar invalid.
我还遇到整个spring的项目只有test报错,其他的都不报错,编辑器里提示的unknown error~
真没法玩了~我知道肯定有一个或几个jar下载的有问题.但就算你知道了难道一个一个去找删?一个还好说,有时候5,6个真是浪费时间.
不如就写个代码跑一下吧~
public class mvncheckjar { public static void main(string[] args) throws exception { string localmvnpath = "f:/mvnlib"; // 遍历文件夹,找出jar\pom和效验文件进行对比,如果不相符,则删除 getfile(new file(localmvnpath), "jar,pom"); system.out.println("完毕"); } public static void getfile(file path, string suffixs) throws exception { string[] suffixs_ = new string[] {}; if (suffixs != null) suffixs_ = suffixs.split(","); if (path.isfile()) { for (string suffix : suffixs_) { if (path.getname().endswith(suffix)) { // system.out.println(path.getabsolutepath() ); handler(path); } } } else { file[] ff = path.listfiles(); if(ff!=null) for (file x : ff) { getfile(x, suffixs); } } } /** * 验证,发现不匹配则删除 * * @throws ioexception */ public static void handler(file f) throws exception { file fsha1 = new file(f.getabsolutepath() + ".sha1"); if (fsha1.exists()) { string sha1 = fileutils.readfiletostring(fsha1, "utf-8").replaceall("(?m).*(\\w{40}).*", "$1").replaceall("\\n|\\r", ""); string currsha1 = sha1(f); if(!sha1.equals(currsha1)){//如果不等,则删除 当前文件和sha1 // system.out.println("sha1file: " + sha1 ); fsha1.delete(); f.delete(); system.out.println(sha1 + " , " + currsha1 + " , " + f.getabsolutepath()); } } else { f.delete(); } } public static string sha1(file f) throws exception { try (fileinputstream fis = new fileinputstream(f)) { return org.apache.commons.codec.digest.digestutils.sha1hex(fis); } } }
上一篇: HDU3783 ZOJ
下一篇: Docker 系列之 基础入门
推荐阅读
-
Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)
-
Spring Boot Maven 打包可执行Jar文件的实现方法
-
maven下载jar包改用阿里云maven库的方法
-
java环境变量配置好后双击jar文件无法运行的解决办法
-
java 从服务器下载文件并保存到本地的示例
-
Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)
-
Spring Boot Maven 打包可执行Jar文件的实现方法
-
初学Java Web(7)——文件的上传和下载
-
java实现文件的上传下载
-
Java利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理