java.lang.NoClassDefFoundError:Tomcat中的com / ibm / mq / MQException

时间:2013-10-03 15:21:21

标签: java eclipse tomcat ibm-mq

我正在运行动态Web项目,但遇到Tomcat的以下错误:

Caused by: java.lang.NoClassDefFoundError: com/ibm/mq/MQException
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 6 more
Caused by: java.lang.ClassNotFoundException: com.ibm.mq.MQException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    ... 20 more

我将com.ibm.mq.jar添加为外部jar。有谁知道什么是错的?

2 个答案:

答案 0 :(得分:1)

您需要将该jar标记为需要从项目的Deployment Assembly属性页面进行部署。默认情况下,只有WEB-INF / lib文件夹中物理上的jar将部署到服务器。

答案 1 :(得分:0)

首先,您需要的不仅仅是 com.ibm.mq.jar 文件才能连接到远程队列管理器。

如果您使用的是WMQ v6.0或更低版本,则需要以下MQ JAR文件:

  • com.ibm.mq.jar
  • connector.jar

如果您使用的是WMQ v7.0,v7.1,v7.5或更高版本,则需要以下MQ JAR文件:

  • com.ibm.mq.jar
  • connector.jar
  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.headers.jar
  • com.ibm.mq.jmqi.jar

如果您在应用程序中使用JMS,那么您还需要:

  • com.ibm.mqjms.jar
  • jms.jar

您使用的是MQ JNDI吗?如果是这样,也要添加jndi.jar文件。

这是标准的RTM,因为它有详细记录。