2011-12-31 13 views
9

Acabo de actualizar a Tomcat v7. Estoy tratando de incluir un jar en la lib que necesitan mis clases java. Es DB2JCC4.JAR. Lo uso para acceder a DB2 en un mainframe de IBM. Esto solía funcionar bien en Tomcat6.Incluyendo DB2JCC4 en Tomcat 7

Cuando incluyo el frasco, entonces tengo errores tales como:


Deploying web application directory C:\tomcat7\webapps\dbs 
    org.apache.catalina.core.ContainerBase addChildInternal 
    SEVERE: ContainerBase.addChild: start: 
    org.apache.catalina.LifecycleException: Failed to start component 
    ..... 

    caused by: org.apache.tomcat.util.bcel.classfile.ClassFormatException: null is 
    not a Java .class file.... 

He intentado poner URIEncoding en el Server.xml pero eso no ayuda.

Cuando saco el archivo jar de DB2JCC4, no obtengo errores de inicio. Por supuesto, ¡entonces no puedo acceder a DB2! Agradezco cualquier sugerencia.

Respuesta

14

Intente cambiar $TOMCAT_HOME/conf/catalina.properties y agregue DB2JCC4.jar a tomcat.util.scan.DefaultJarScanner.jarsToSkip valor de la propiedad. Se utiliza para desactivar el escaneo classpath (que se usa en implementaciones de especificaciones JavaEE 6).

+0

sí! esto es lo que hay que hacer! Tuve el mismo problema, y ​​esta respuesta me ayudó a resolverlo. ¡Gracias! – MarcoS

+0

Me lo arreglaron, gracias. –

+0

Gracias, la excepción ya no ocurre :) Tenía la esperanza de que hubiera una forma de "arreglar" el archivo JAR, pero esto también es bueno;) – munyul

0

Si se estaba preguntando por qué está sucediendo el problema en primer lugar y no solo una solución, puede encontrar la respuesta here. IBM ha reconocido el problema y ha proporcionado opciones para solucionarlo. Esencialmente, algunos de los archivos de clase están corruptos.

Cuestiones relacionadas