什么违规类告诉我服务器启动?

时间:2014-01-13 16:51:48

标签: java tomcat

我将jee7 web api视为依赖。我可以成功地在tomcat应用程序上启动我的应用程序,但以下“违规类”语句告诉我什么?我必须采取任何行动吗?

Jan 13, 2014 5:47:47 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
Information: validateJarFile(C:\Users\me\Servers\apache-tomcat-7.0.50\wtpwebapps\app\WEB-INF\lib\el-api-2.2.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class
Jan 13, 2014 5:47:47 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
Information: validateJarFile(C:\Users\me\Servers\apache-tomcat-7.0.50\wtpwebapps\app\WEB-INF\lib\javaee-web-api-7.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class

的pom.xml

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>7.0</version>
    </dependency>

4 个答案:

答案 0 :(得分:18)

看起来你(你的Servlet容器)正在尝试加载一些已经加载的类。 Servlet容器应提供servlet-apiel-api

更改您的pom.xml以解决该问题

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>7.0</version>
    <scope>provided</scope>
</dependency>

答案 1 :(得分:2)

在使用Eclipse的项目中我遇到了同样的问题。

执行以下操作解决了问题

  1. 将javax。 * .jar添加到构建路径
  2. 删除了项目 - 给了干净的构建并添加了项目,最后发布了.... !!
  3. ...宾果!!

    这解决了我的问题。希望这会有所帮助。

    谢谢,

    MSKR。

答案 2 :(得分:1)

对于使用Maven作为构建工具的开发人员来说,这是一个非常常见的问题。什么时候,我们将servlet-api包含为项目依赖项,即像这样的pom.xml:

<dependency>
<groupId>  javax.servlet</groupId>

<artifactId>servlet-api</artifactId>
<version>2.5</version>

添加上述依赖项中提供的范围,如下所示。

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>

答案 3 :(得分:0)

我通过使用正确的Servlet API版本修复了这个问题:Tomcat 7.x期望版本3.0.x,而不是3.1.x我尝试使用。