2011-12-31 50 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已经确认了这个问题,并提供了修复它的选项。基本上有一些类文件已损坏。