前言
之前构建源码的时候就出现了这种明明jar包存在,却报找不到jar异常的问题,当时也是解决了很长时间发现把impl文件删除重新生成,才解决。因为像这样的问题,再网上没有一个明确的答案,因为每个人遇到的问题不一样,处理的方式也不一样。

最近在导入别人代码的时候又遇到了这样的异常,但是我发现按照原先的方法解决不了这个问题。最后又是花费了很长时间才解决。

由此就把所有的解决方式都记录一遍,方便你我他在这个问题上能够及时解决。
问题出现场景
构建源码
导入别人的程序
前几天还正常,现在不正常了
问题出现原理分析
首先我们得知道我们是在哪里出现的问题,是在IDE编译的时候,还是在maven编译的时候。

因为idea编译跟maven编译不是一回事。

idea中有个设置是 Delegate ide build/run actions to maven,意思就是将ide构建/运行操作委托给maven。

所以当你用命令行 mvn clean install -X的时候报错的时候,那是maven编译报错。这个时候就得从maven依赖项着手处理了。

当你用命令行mvn clean install -X构建正常的情况下,idea运行方法或者Build module的时候报错,那就说明是IDE编译报错。

问题处理方法

  1. 项目的编译语言设置是不是一致

java中date包找不到 java找不到jar包的方法_java


确认这几个地方是否都一致。jdk13就都是13,1.8的话就都是1.8.

2. 重新导入jar包

java中date包找不到 java找不到jar包的方法_java中date包找不到_02


3. 清除idea缓存

java中date包找不到 java找不到jar包的方法_java中date包找不到_03


4. 删除iml文件,然后在当前工程目录下执行mvn idea:module重新生成iml文件。

java中date包找不到 java找不到jar包的方法_java_04


5. 重新编译构建项目:mvn clean install -X

-X是为了打印构建的日志。

java中date包找不到 java找不到jar包的方法_maven_05


6. 将ide构建或者运行操作委托给maven

java中date包找不到 java找不到jar包的方法_java_06