Eclipse检出原MyEclipse项目后 javax.servlet.http相关类都报错【我,体现着一类jar包问题的处理方法】

 

用Eclipse检出原来为myEclipse搭建的一个项目,检出后,所有关于httpservlet的类都报异常,说有没实现的方法?

 

 但这个项目之前人家用MyEclipse运行都是没有问题的,

按住CTRL 点击 HttpServletRequest 类,

 

 注意看左侧:

 

 

可以看到,当前这个类引用的是 WebRoot\WEB-INF\lib\javax.servlet-api-3.1.0.jar 这个jar,

在同事的电脑上(他的项目是正常的),同样点击这个类,发现人家引用的是 javaee.jar

 

解决办法,

先在Eclipse中加入javaee.jar,然后

将之前这个错误的jar从构建中移除:

 

等待项目重新构建,完成。

 

如果,通过上面的 remove步骤,不起作用(有时编辑器会有这种情况),CTRL点击进去后还是那个包,那么可以直接到项目的 WEB-INF下的lib目录中,先删除这个包,然后再重启Eclipse等待重新构建项目即可。

这时,再点击原来那个类,发现已经指向了javaee.jar包:

 

 

启发:

1、MyEclipse 中自带的

javaee.jar

javax.servlet-api-3.1.0.jar

中都有同名的 http相关jar包,但是,它们的类中方法略有区别,包引用错误会报错。最为头疼的是,当这种错误发生时,只看代码中的 import行是没有任何报错信息的。

 

2、如果项目中出现 import导入正常但是编译报错,可以通过 Ctrl+鼠标点击 相关类,查看当前代码引用的是哪个jar来排查问题。

 

posted @ 2019-11-28 17:42  戈博折刀  阅读(681)  评论(0编辑  收藏  举报