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

我有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

   javax javaee-web-api 7.0  

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

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

  javax javaee-web-api 7.0 provided  

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

做下面的事情解决了这个问题

  1. 添加了javax。 * .jar到构建路径
  2. 删除了项目 – 给了干净的构建并添加项目并最终发布…. !!

答对了…!!

这解决了我的问题。 希望这可以帮助。

谢谢,

MSKR。

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

   javax.servlet servlet-api 2.5 

按照以下依赖关系添加范围。

  javax.servlet servlet-api 2.5 provided  

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