autoconfig-maven-plugin异常情况

7 篇文章 0 订阅

问题发迹

最近在使用autoconfig-maven-plugin打包应用遇到一个异常:Nested JAR URLs are not supported。autoconfig GitHub传送门 autoconfig issue
在这里插入图片描述

跟踪代码后,发现JDK中一段代码的处理,如下图:在这里插入图片描述
分析代码后,暂定认为是JDK(jdk1.8.0_231)中代码(117行)逻辑不严谨,后边继续跟进。

更新

开发环境更新了JDK的小版本号(jdk1.8.0_202)后,再看源码,checkNestedProtocol这个方法已经没有了。
就问题JDK代码分析来看:

String var10 = this.checkNestedProtocol(var2);
if(var10 !=null){
	throw new NullPointerException(var10);
}

在这里插入图片描述
以上方法,目的在于匹配var是以“jar:”开头的字符串(URL)。意在表名不支持这种类型的URL。
读者可亲自调试代码至此,比对此处方法的参数,一探究竟!

最终回到问题

在这里插入图片描述
从异常信息调用栈可以看到,打包过程,试图根据一个URL获取一个jar,并进行打包(压缩)。但产生问题的JDK并不支持URL路径中包含“jar”。

根本解决问题的思路

①拿到autoconfig源码,自行修改,捕获到这种异常的处理,对jar文件不再进行压缩
已经有热心网友修复,小版本号:1.2-fixcompress-SNAPSHOT(这个版本的下载还是废了一番苦心呐)
配置阿里的镜像似乎下载不到这个版本的jar
终于还是在GitHub以关键字搜索1.2-fixcompress-SNAPSHOT找到了线索
按照阿里云的指导配置了私服
在这里插入图片描述

②换JDK(这个简单就不说了)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值