·· 场景:
导入一个web项目的时候,配置了对应版本的jdk,到时发现某些类报错,进入到对应的类后发现是找不到类调用的方法,但是类名以及类名的实例化没问题。
原因:
后面我发现原因是因为这个类在两个jar包都存在(JDK是A.jar,lib目录下是B.jar),正常的话这个类应该是导入A.jar的,A.jar包中这个类是有对应的调用方法的,不会报错。但是实际这个类使用的是B.jar中的类,所以报错。
应该是包的加载顺序错误导致优先使用WEB-INF中 lib目录下的jar包
解决:
查看项目的 java Build Path ,选择Order and Export ,把JDK资源往上移,Web App Libraries往下移,这样就优先使用JDK中的jar包
最后 报错解决