- 在工作中遇到一个很是奇怪的问题,在引用自定义jar包的时候,发现在代码中会报错,找不到对应类。当时怀疑jar包有什么问题,问了其他问题也没有到这样的情况。那就自己慢慢排查。做了几下几种尝试
尝试解决问题的方式
- 更换jar包的版本,问题依然存在;
- 从其他同事处拷贝的包放到指定目录,问题未能解决;
- 把本地maven依赖包都删除,重新下载没有解决;
- 清空IDEA缓冲,未能解决;
-
在本地使用解压软件打开jar包,里面有对应class文件
-
反编译jar包,重新自己建一个和之前一样jar。此时在创建路径时发现问题根本原因,当IDEA遇到某个固定的文件名就会被隐藏,但是在本地是存在的。由此可以确定是IDEA把它给过滤了。上网问下度娘给出了答案。
问题再现
此时可以看到在jar中没有web这个package。
问度娘IDEA忽略设置
设置IDEA
把这里web删除掉看效果
成功解决后效果
坑了两天这个问题