2011-12-31 21 views
9

Ho appena effettuato l'aggiornamento a Tomcat v7. Sto cercando di includere un jar nella libreria di cui hanno bisogno le mie classi java. È DB2JCC4.JAR. Lo uso per accedere a DB2 su un mainframe IBM. Funzionava bene in Tomcat6.Incluso DB2JCC4 in Tomcat 7

Quando includo il barattolo, tanto sono errori come:


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.... 

Ho provato a mettere URIEncoding nel server.xml, ma questo non aiuta.

Quando estraggo il file jar DB2JCC4, non ricevo errori di avvio. Certo, quindi non posso accedere a DB2! Apprezzo qualsiasi suggerimento.

risposta

14

Provare a cambiare $TOMCAT_HOME/conf/catalina.properties e aggiungere DB2JCC4.jar a tomcat.util.scan.DefaultJarScanner.jarsToSkip valore di proprietà. Viene utilizzato per disattivare la scansione del percorso di classe (che viene utilizzata attraverso le implementazioni di specifiche JavaEE 6).

+0

sì! questa è la cosa da fare! Ho avuto lo stesso problema e questa risposta mi ha aiutato a risolverlo. Grazie! – MarcoS

+0

Risolto il problema per me, grazie. –

+0

Grazie, l'eccezione non si verifica più :) Speravo ci fosse un modo per "aggiustare" il file JAR stesso, ma anche questo è un buon risultato;) – munyul

0

Se ti stavi chiedendo perché il problema sta accadendo in primo luogo e non solo una soluzione, puoi trovare la risposta here. IBM ha riconosciuto il problema e ha fornito opzioni per risolverlo. In sostanza alcuni dei file di classe sono corrotti.