我在服务器上上传了 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-INF/lib/
目录,因为它们已经由应用程序服务器提供。添加它只会导致类加载冲突,从而导致部署失败。
您链接的问题指出,虽然您在 Maven 的构建 xml 文件中将其声明为依赖项,但您将其标记为 <scope>
to provided 即 jar 将由容器提供,因此不应捆绑在生成的 war 工件内。
关于java -/WEB-INF/lib/javaee-web-api-7.0.jar - jar 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28514804/