Jar文件无法在tomcat webapps中加载
这是我尝试将maven项目部署到tomcat时遇到的错误mvn tomcat7:deploy错误: INFO:validateJarFile(D:\ Softwares \ tomcat \ apache-tomcat-7.0.50 \ webapps \ myWebApp_ 1 \ WEB-INF \ lib \ javax.servlet-api-3.0.1.jar) – jar未加载。 请参阅Servlet规范3. 0,第10.7.2节。 违规类:javax / servlet / Servlet.class
但是WEB-INF \ lib中的javax.servlet-api-3.0.1.jar谢谢
INFO:validateJarFile(D:\ Softwares \ tomcat \ apache-tomcat-7.0.50 \ webapps \ myWebApp_ 1 \ WEB-INF \ lib \ javax.servlet-api-3.0.1.jar) – jar未加载
Servlet3.0已经与其lib文件夹中的tomcat一起提供,默认情况下,tomcat将始终加载存在于其中的servlet jar。 这就是为什么你得到tomcat没有在你的项目中加载jar的警告。
简单的解决方案:如果您正在使用maven,请将其范围provided
为pom.xml中provided
范围,并且maven不会将其放在项目的WEB-INF / lib中。 就像是
javax.servlet servlet-api 3.0 provided
Saif asif的精确解释。
我使用gradle作为构建工具。 它对我有用,可以排除tomcat提供的tomcat-servlet-api.jar。
您需要知道哪个依赖项正在将warcat-servlet-api.jar传递给war,然后使用以下内容将其排除
compile ('your dependency goes here') { exclude module:'tomcat-servlet-api' }
这只是您的日志中出现的警告,而不是错误。 如果忽略此项,您的项目仍会部署。
您可以通过使用maven重建.war并将其复制到\ webapps \删除旧文件来摆脱此错误。
最佳解决方案:从lib中删除该jar(即javax.servlet-api-3.0.1.jar)