博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java校验maven下载的jar文件
阅读量:4684 次
发布时间:2019-06-09

本文共 1984 字,大约阅读时间需要 6 分钟。

有时候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); } }}

 

转载于:https://www.cnblogs.com/java_cSharp/p/10883604.html

你可能感兴趣的文章
IPC 之 Messenger 的使用
查看>>
macos 下usb键盘问题.
查看>>
SQL函数学习(十六):STUFF()函数
查看>>
Apache Hadoop 和Hadoop生态圈
查看>>
Ctrl+Enter 选中文本提交
查看>>
android WIFI
查看>>
常用的匹配正则表达式和实例
查看>>
小组成员及其git链接
查看>>
SQL case when else
查看>>
MVc Identity登陆锁定
查看>>
cdn连接失败是什么意思_关于CDN的原理、术语和应用场景那些事
查看>>
ultraedit26 运行的是试用模式_免费试用U盘数据恢复工具 – 轻松找回U盘丢失的各种数据!...
查看>>
python sum函数导入list_python sum函数iterable参数为二维list,start参数为“[]”该如何理解...
查看>>
UVa540 Team Queue
查看>>
android 练习之路 (八)
查看>>
tp5 中 model 的聚合查询
查看>>
android wear开发之:增加可穿戴设备功能到通知中 - Adding Wearable Features to Notifications...
查看>>
压缩文件函数库(转载)
查看>>
【转】ubuntu12.04没有/var/log/messages解决
查看>>
Oracle EBS 初始化用户密码
查看>>