Jar 文件无法在 tomcat webapp 中加载

2022-09-01 17:05:55

这就是我尝试将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 not loaded. See Servlet Spec 3.
0, section 10.7.2. Offending class: javax/servlet/Servlet.class

但是javax.servlet-api-3.0.1.jar在WEB-INF\lib中是存在的 谢谢


答案 1

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 已经与 tomcat 一起在其 lib 文件夹中提供,默认情况下,tomcat 将始终加载那里的 servlet jar。这就是为什么你收到警告,tomcat没有在项目中加载你的jar。

简单的解决方案 :如果您使用的是maven,请将其范围设置为pom内部.xml maven不会将其放在项目的WEB-INF / lib中。类似的东西provided

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

答案 2

赛义夫·阿西夫的精确解释。

我使用gradle作为构建工具。它对我有用,排除了tomcat-servlet-api.jar这是tomcat默认提供的。

你需要知道你的哪个依赖关系正在传递地将tomcat-servlet-api添加到战争中.jar,然后使用以下命令将其排除

 compile ('your dependency goes here') {
        exclude module:'tomcat-servlet-api'
    }

推荐