===================================================================================
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包上。
解决方法:
所以,解决的方法
参考:
就是在你看到 找不到符号的这个java类, 你找到这个类,然后
右键该文件,点击 Recompile ,重新编译
重新编译了之后,正常就编译通过了。
如果编译失败,会给你报出来,这个java类中引用的什么 找不到,导致编译不通过,你可以根据错误提示,找到上一个 被依赖的 找不到的 java类, 然后一直溯源往上,找到最根源的编译不通过的 java类。
然后再依次往下级,一个一个的Recompile。
就可以解决 这个问题。
============
或者 可以定位到 根源的j出问题的jar。
从而解决问题。