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

标签 java tomcat7

我在服务器上上传了 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/

相关文章:

java - 我可以使用 sql INSERT 语句插入 java 实体并稍后使用 JPQL 检索它吗?

java - 重复的堆栈跟踪

java - 从 Grails 运行外部 Groovy 脚本时出现 UTF-8 编码错误

java - 将 HttpServletRequest 转发到不同的服务器

gradle - POST 方法上的外部 tomcat 上的 Spring Boot REST 框架无法处理图像。返回 404 错误

Java 8 - 如何将 Pojo 转换为其嵌入的 Pojo 属性列表

mysql - Birt:将用户停留时间存储在报告中并访问数据库

tomcat - 从 Tomcat6 迁移到 Tomcat7

linux - 使用 mod_jk 配置 Apache2 和 tomcat7

linux - 带有 tomcat7 的 Arquillian 遇到 Java 堆空间问题,仅在 linux 上