如何避免错误"javax.servlet-api-3.0.1.jar - jar not loaded"?

Sun*_*Sun 7 grails maven-2 maven-3 maven tomcat7

我使用的是Windows 7,Java 1.7,Grails 2.1.4,Groovy 2.0.4和Tomcat 7.0.37.
执行我的项目时,我收到以下错误:

Apr 5, 2013 11:08:00 AM org.apache.catalina.loader.WebappClassLoader validateJarFile
    INFO: validateJarFile(/software/apache-tomcat-7.0.37/webapps/aaaportal-0.1/WEB-INF/lib/javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
    Apr 5, 2013 11:08:13 AM org.apache.catalina.loader.WebappClassLoader loadClass
    INFO: Illegal access: this web application instance has been stopped already.  Could not load org.bouncycastle.jce.provider.JDKKeyPairGenerator$RSABeanInfo.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
    java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1599)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
        at java.beans.Introspector.instantiate(Introspector.java:1444)
        at java.beans.Introspector.findExplicitBeanInfo(Introspector.java:428)
        at java.beans.Introspector.<init>(Introspector.java:377)
        at java.beans.Introspector.getBeanInfo(Introspector.java:164)
        at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2948)
Run Code Online (Sandbox Code Playgroud)

我尝试了不同版本的servlet-api和bcprov-ext-jdk15- * .jar,但这没有帮助.

我应该担心这个错误吗?
我怎么能让它消失?

khm*_*ise 12

您只需使用提供的范围作为您的依赖项,如下所示:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.0.1</version>
  <scope>provided</scope>
</dependency> 
Run Code Online (Sandbox Code Playgroud)

因此它不再打包在WAR/EAR文件中.


Ian*_*rts 8

servlet-api罐子不应该在你的WEB-INF/lib中所有的,因为它是由容器提供.警告消息非常明确 - servlet规范要求容器忽略包含javax.servlet类的webapp中的任何jar文件.您可以安全地忽略该消息.

关于bouncycastle的第二个消息也可能不是它看起来的样子.可能还有另一个错误导致webapp无法正常启动,并且当其他东西试图从已经关闭的webapp加载类时会出现此消息.检查您的其他日志文件,并可能在Config.groovy中编辑log4j设置以使日志记录更加详细,并查看是否显示真正的基础错误.