0

我正在运行一个动态 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。有谁知道出了什么问题?

4

2 回答 2

1

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

于 2013-10-03T15:24:41.780 回答
0

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

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

  • com.ibm.mq.jar
  • 连接器.jar

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

  • com.ibm.mq.jar
  • 连接器.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,因为它有据可查。

于 2013-10-03T20:15:22.800 回答