java - jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类 : javax/servlet/Servlet. 类

标签 java eclipse maven tomcat7

我正在运行一个 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/

相关文章:

java - Maven 构建问题 : PKIX path building failed

java - Android - Java 如果(a 或 b)?

java - 将自定义类对象添加到显示歧义的列表

java - 通过eclipse打开java文件没有错误,但是如果我只是复制源代码就会出现错误

java - 重新发布不起作用(静态资源)

maven - 在 Google Cloud SQL 环境中执行 maven 单元测试

java - Jackson2 objectmapper 未将请求映射到对象

java - 为什么我会收到异常 : abstructmethoderror while calling setXmlStandalone() method in Java?

java - 找不到基本名称的 Spring ResourceBundle

java - 由于多次引用同一 Java 类,Eclipse(Java 项目)中出现构建错误