【maven】【IDEA】idea中使用maven编译项目,报错java: 错误: 找不到符号 【2】
===================================================================================
idea 中使用 maven 编译项目,报错 java: 错误: 找不到符号
错误状况展示:
如果报这种错,是因为项目中真的找不到报错的方法或者枚举 字段之类的,但实际是 :
点击 File Path
实际 查看项目中
这个 domain 中的这个类,是有这个方法的
好,再查看 maven 的本地仓库 repository,到指定的目录下,可以看到本 domain 的打包 jar 中,0.1.0 版本是打包了完整代码的,但是项目编译时候使用的版本却是 0.1.0.2 版本
看到这里,是不是在项目里面把 引用的 domain 的版本依赖改成 0.1.0 不就好了么?
实际上,此刻项目中引用的 domain 版本就是 0.1.0
而且可以看到 ,此刻的 domain 的 0.1.0.2 版本的 jar 包竟然还包含日期的信息:
产生原因:
根源问题,是因为多个 Git 分支,这个在改,那个在改,有些分支上的某些依赖 jar 包版本升级的比较新,合并到主分支之后,导致找不到,就导致 jar 包的引用出现了上述的 jar 包版本变成包含日期的 jar 包这种异常情况。
这个 jar 包中包含的日期时间,就是当时合并之后出问题的时间节点。
虽然上面显示的是 domain 这个 jar 包编译找不到东西,实际问题并不是出在这个 jar 包上。
解决方法:
所以,解决的方法
参考:
https://blog.csdn.net/CaptainJava/article/details/91676066
就是在你看到 找不到符号的这个 java 类, 你找到这个类,然后
右键该文件,点击 Recompile ,重新编译
重新编译了之后,正常就编译通过了。
如果编译失败,会给你报出来,这个 java 类中引用的什么 找不到,导致编译不通过,你可以根据错误提示,找到上一个 被依赖的 找不到的 java 类, 然后一直溯源往上,找到最根源的编译不通过的 java 类。
然后再依次往下级,一个一个的 Recompile。
就可以解决 这个问题。
============
或者 可以定位到 根源的 j 出问题的 jar。
从而解决问题。