2011-12-31 95 views
9

我剛剛升級到Tomcat v7。我正在嘗試在我的java類需要的庫中包含一個jar。它是DB2JCC4.JAR。我使用它來訪問IBM大型機上的DB2。 這用於在Tomcat6中正常工作。在Tomcat 7中包含DB2JCC4

當我有罐子,然後我得到的錯誤,如:


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

我試圖把的URIEncoding在server.xml但這並不能幫助。

當我拿出DB2JCC4 jar文件時,我沒有看到啓動錯誤。當然,那我無法訪問DB2!我很欣賞任何建議。

回答

14

嘗試更改$TOMCAT_HOME/conf/catalina.properties並將DB2JCC4.jar添加到tomcat.util.scan.DefaultJarScanner.jarsToSkip屬性值。它用於關閉類路徑掃描(在JavaEE 6規範實現中使用)。

+0

是的!這是要做的事情!我遇到了同樣的問題,這個答案幫助我解決了這個問題。謝謝! – MarcoS 2012-03-16 15:47:20

+0

修復了這個問題,謝謝。 – 2012-07-20 09:01:26

+0

謝謝,異常不再發生:)我希望有一種方法來「修復」JAR文件本身,但這也是很好的;) – munyul 2014-01-24 09:55:09

0

如果您想知道爲什麼問題首先發生,而不是解決方法,您可以找到答案here。 IBM已經確認了這個問題,並提供了修復它的選項。基本上有一些類文件已損壞。