这个jar没有加载错误意味着什么?

时间:2015-07-03 04:33:21

标签: java eclipse maven servlets

错误

INFO: validateJarFile(C:\Users\gopir\workspace\.metadata\.plugins\
      org.eclipse.wst.server.core\tmp2\wtpwebapps\hapi_hl7\WEB-INF\lib\
      servlet-api-2.5.jar) - jar not loaded.
      See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet  /Servlet.class

这意味着servlet-api已经加载。所以重复导致了这个问题。

如果我错了,请纠正我。

我的错误

INFO: validateJarFile(C:\Users\gopir\workspace\.metadata\.plugins\
org.eclipse.wst.server.core\tmp2\wtpwebapps\hapi_hl7\WEB-INF\lib\
myApp.jar) - jar not loaded.
See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet  /Servlet.class

这是我的错误。这是否意味着已经添加了myApp.jar并尝试再次添加它是一个错误。或者servlet-api jar是重复的。

请帮助我理解这一点。

1 个答案:

答案 0 :(得分:0)

战争不能包含与servlet相关的jar。

servlet-api-2.4.jar移除WEB-INF/lib以解决此问题。

这是因为servlet容器(tomcat,jetty,jboss ......)拥有它自己的servlet-api.jar,你无法覆盖它。

如果你正在使用maven试试这个

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

提供的范围告知jar必须在打包时从战争中排除。