我正在运行一个 Maven 项目,它也是一个动态 Web 项目。我在 Maven 中使用了所有 Spring 库。我创建了 web.xml
,但是当我启动 Tomcat 7 服务器时,我收到以下消息:
INFO: validateJarFile(C:\Users\mibvzd0\workspace\.metadata\.plugins\
org.eclipse.wst.server.core\tmp2\wtpwebapps\hapi_hl7\WEB-INF\lib\
servlet-api-2.4.jar) - jar not loaded.
See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
我尝试从 webapp/lib
中删除 servlet,但没有成功。让我知道在我的情况下应该怎么做。
最佳答案
servlet API .jar 文件不能嵌入到 webapp 中,因为很明显,容器的类路径中已经包含这些类:它实现了这个 jar 中包含的接口(interface)。
依赖项应该在 provided
范围内,而不是默认的 compile
范围内,在您的 Maven pom 中:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
关于java - jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类 : javax/servlet/Servlet. 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601469/