【问题标题】:validateJarFile(servlet-api.jar) - jar not loaded in tomcat using eclipse [duplicate]validateJarFile(servlet-api.jar) - jar 未使用 eclipse 加载到 tomcat [重复]
【发布时间】:2012-06-15 02:21:32
【问题描述】:

[Tomcat] validateJarFile(servlet-api.jar) - jar 未加载。 违规类:javax/servlet/Servlet.class org.apache.catalina.loader.WebappClassLoader validateJarFile 信息: validateJarFile(\WEB-INF\lib\servlet-api.jar) - jar 不是 加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类: javax/servlet/Servlet.class.

我搜索了这个,我知道我在我的项目 WEB-INF/lib 中使用了 servlet-api.jar,并且我在 tomcat/lib 文件夹中有相同的 servlet-api.jar。所以我必须删除 servlet-api.jar,但是如果我删除了那个 jar,我会在 import javax.servlet.* 中得到错误;那么我该如何解决这个问题,请帮我解决这个错误。在此先感谢

【问题讨论】:

    标签: java tomcat servlets


    【解决方案1】:

    您得到的错误是因为 servlet-api 需要在编译时构建路径上,在运行时您的应用程序将具有可从 tomcat/lib 获得的 servlet-api

    因此,只需将其添加到您的构建路径中,简而言之,servlet-api 在编译和运行时都需要

    【讨论】:

    • 能否请教如何将其添加到构建路径
    • 你用的是哪个IDE?,是maven项目(pom)吗?
    • 选择项目 > 右键单击​​ > 属性 > java 构建路径 > 添加外部 jars > 从本地文件系统浏览到您的 servlet-api > 按 OK > 刷新项目
    • 但是在运行我的本地主机时..我现在收到 404 错误..我现在要做什么
    • 我现在收到这个警告 .. 警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} 将属性 'source' 设置为 'org.eclipse.jst.jee.server:QRCode ' 没有找到匹配的属性。 2012 年 6 月 12 日下午 1:46:17 org.apache.coyote.AbstractProtocol 初始化
    【解决方案2】:

    试试这个来删除你收到的警告信息。

    • Servlet 规范规定您的​​ webapps lib 目录中不允许有 servlet.jar。
    • 如果您想摆脱警告,只需从中删除 servlet.jar

    C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\YOUR_project\WEB-INF\lib
    

    【讨论】:

    • +1 - 尝试在 tomcat 7 上启动 hudson-3.0 导致此错误消息。我将 hudson 应用程序中的 servlet jar 重命名为 servlet.jar.hide 并修复了它。谢谢!
    • 这行得通。谢谢@paul 和@Lucky!
    猜你喜欢
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多