什么违规类告诉我服务器启动?
我有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-api
和el-api
应该由Servlet容器提供。
更改您的pom.xml以解决该问题
javax javaee-web-api 7.0 provided
在使用Eclipse的项目中我遇到了同样的问题。
做下面的事情解决了这个问题
- 添加了javax。 * .jar到构建路径
- 删除了项目 – 给了干净的构建并添加项目并最终发布…. !!
答对了…!!
这解决了我的问题。 希望这可以帮助。
谢谢,
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.