web项目编译出错时,原因之一,可能是build path 中order and Export引起

build path中的order and Export,如果两个libarary中有相同功能的jar包,则编译器会选择顺序在前的jar包中相应的类作为编译所需。

所以,当项目jar包较多的时候,如果导入了多次的jar包版本不一样,而没有使用到你想用的那个版本jar包时,编译问题就会出现。如下图所示:

一:编译正常,因为使用了Maven Dependency中指定的javax.servlet-api 3.0.1jar包。

二:编译错误,因为使用了java EE5 libarary

原文地址:https://www.cnblogs.com/jianglong-liang/p/4618582.html