我将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>
答案 0 :(得分:18)
看起来你(你的Servlet容器)正在尝试加载一些已经加载的类。 Servlet容器应提供servlet-api
和el-api
。
更改您的pom.xml以解决该问题
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
答案 1 :(得分:2)
在使用Eclipse的项目中我遇到了同样的问题。
执行以下操作解决了问题
...宾果!!
这解决了我的问题。希望这会有所帮助。
谢谢,
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我尝试使用。