The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from

       在eclipse中导入一个svn里面的工程,报错:The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files。去网上查找,有些网友说是Tomcat的一个servlet-api.jar包没有导入进来,这本身没有错,的确是这样的。但是按照他们的指示,通过Add External Jars的方式导入这个servlet-api.jar包,此时,这个问题没有了,但又报了另外的一个错误:the hierarchy of the type is inconsistent,这个的意思大家去搜,我也讲不清楚。

    但后来发现,这个工程没有java EE的版本。这下问题清楚了,大家可以去搜索一下java EE中各个版本的区别。java EE版本的作用就是搭建好一个最初始的环境,比如说将Tomcat 的一个文件加载进来等等,所以说刚才的那个The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files问题的根源其实就是在这里,因为这里没有java EE的版本,自然无法将一些环境配好。因为把java EE的版本弄好了,它就会把Tomcat的某些初始环境也一同搭建好,这个servlet-api.jar包也会通过某种什么方式被自动关联进去,根本不需要我们手动去导入,手动去导入,反而会出现什么问题,那么那个the hierarchy of the type is inconsistent错误也就不会出现了。

    要怎么解决呢,可以去下载一个相应版本的j2ee.jar包回来,放入lib包,再导入路径即可。

你可能感兴趣的:(eclipse,tomcat,java,ee,eclipse)