一个老项目,原来用eclipse和老版本的idea编译都没问题,换了一个较新版本的idea后,项目中有几个jar包突然不识别了,idea发现不了其中的class,编译、运行也都没问题,但是编辑器会有错误提示找不到类。
用rar打开感觉jar包也没啥问题,网上找了一圈没人说过这个问题,有别的情况jar包不识别的,有人给出的方案是把jar包解压缩出来引用,这个我觉得太麻烦了,后面使用太啰嗦了,后来想到会不会是jar包的格式有问题,导致idea无法正常解压但是rar可以解压,就包jar包解出来后,用jdk自带的jar工具又压缩了一遍,然后就正常了。
看来我的猜测没错,但到底是哪里出了问题呢,用比较软件比较一下,发现唯一的差别是其中的MANIFEST.MF文件,逐个试验发现是其中多了一个Build-by属性,查阅文件规范发现虽然标准没有这个属性,但是是可以有自定义属性的,这应该是idea的一个bug吧。