/WEB-INF/lib/javaee-web-api-7.0.jar - jar 未加载

/WEB-INF/lib/javaee-web-api-7.0.jar - jar not loaded

我上传 WAR 到服务器。我按照这个 question 并在此基础上添加了所需的 jar,但它显示以下错误。

Feb 13, 2015 10:29:14 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/usr/local/easy/share/easy-tomcat7/work/Catalina/myproject.com/MyProject/WEB-INF/lib/javaee-web-api-7.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Feb 13, 2015 10:29:14 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/usr/local/easy/share/easy-tomcat7/work/Catalina/myproject.com/MyProject/WEB-INF/lib/javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

我可以运行我本地主机上的应用程序,本地主机和服务器的测试文件都是

Tomcat Version : Apache Tomcat/7.0.42
Servlet Specification Version : 3.0 
JSP version : 2.2

Java 服务器上的版本是

java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.0.el6_6-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

Java 本地机器上的版本是

java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

您不应该将 javaee-web-api-7.0.jar 添加到 Web 应用程序的 /WEB-INF/lib/ 目录中,因为它们已经由应用程序服务器提供。添加它只会导致 class 加载冲突,因此部署会失败。

您链接的问题指出,尽管您在 Maven 的构建 xml 文件中将其声明为依赖项,但您将其 <scope> 标记为 已提供 即 jar 将由容器提供,因此不应捆绑在生成的 war 工件中。