我在服务器上上传了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
我可以在我的localhost上运行应用程序,localhost和server的testfile都是
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)
答案 0 :(得分:1)
您不应将javaee-web-api-7.0.jar
添加到Web应用程序的/WEB-INF/lib/
目录中,因为它们已由应用程序服务器提供。添加它只会导致类加载冲突,因此部署将失败。
您已链接的问题表明虽然您在Maven的构建xml文件中将其声明为依赖项,但您将其<scope>
标记为提供,即jar将由容器,因此不应捆绑在生成的 war 工件中。