maven - que - groovy grails ejemplos
Cómo evitar el error "javax.servlet-api-3.0.1.jar-jar not loaded"? (2)
El servlet-api
no debe estar en su WEB-INF / lib, como lo proporciona el contenedor. El mensaje de advertencia es bastante explícito: la especificación del servlet requiere que los contenedores ignoren cualquier archivo jar en una aplicación web que contenga clases javax.servlet
. Puede ignorar ese mensaje de forma segura.
El segundo mensaje sobre bouncycastle probablemente tampoco sea lo que parece. Probablemente haya habido otro error que provocó que la aplicación web no se inicie correctamente, y este mensaje aparece cuando otra persona intenta cargar una clase desde la aplicación web ya cerrada. Verifique sus otros archivos de registro, y posiblemente edite su configuración log4j en Config.groovy para hacer que el registro sea más detallado, y vea si eso muestra el error subyacente real.
Estoy usando Windows 7, Java 1.7, Grails 2.1.4, Groovy 2.0.4 y Tomcat 7.0.37.
Al ejecutar mi proyecto, aparece el siguiente error:
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)
Probé diferentes versiones de servlet-api y bcprov-ext-jdk15- * .jar, pero eso no ayudó.
¿Debería estar preocupado por este error?
¿Cómo puedo hacer que desaparezca?
Simplemente tiene que usar un alcance proporcionado para su dependencia como el siguiente:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
Por lo tanto, ya no se empacará en su archivo WAR / EAR.