当前位置: 首页 > 知识库问答 >
问题:

线程“main”java.lang.noClassDefFounderRorr:com/ibm/mq/mqException中出现异常

凤昊东
2023-03-14

`Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/mq/MQException
Caused by: java.lang.ClassNotFoundException: com.ibm.mq.MQException
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: com.test.bo.MQprogram. Program will exit.
`

我还不清楚窃听器在哪里。

共有1个答案

宋高谊
2023-03-14

这几乎总是由客户端安装不完整和/或类路径问题的组合造成的。许多人获取jar文件而不是执行完整的安装,并且不一定获得所有文件。有时他们只是不停地查找和抓取jar文件,而不考虑不同的版本。IBM从V7.0开始对Java/JMS类进行了重大重构,并在此后进行了一些更新。从V7.0.1开始,可以将WMQ安装到任意目录路径,并在一台服务器上进行多次安装。这意味着现在可以有多个JRE/S、多个客户机安装等等。这对类路径没有太大影响,但确实改变了依赖关系,如NLS支持、跟踪和Java类依赖/交互的其他东西。

建议安装完整的WMQ客户机,并将类路径指向安装目录。如果这是不可能的,然后安装一个完整的客户机,并从已知良好的安装中获取complere JAR集。那么至少你知道你有所有相同的版本,等等。

如果您决定从IBM的分发媒体安装完整的客户机,您将获得一些额外的功能,如诊断和低级跟踪。它还确保可以应用维护。例如,您有一个问题是在修复包中纠正的,您只需在现有的客户端安装之上安装修复包。如果只有jar文件,修复包将无法安装。

    null
    null
 类似资料:
  • 问题内容: 当我按如下方式运行程序时,我遇到了异常, java -jar MQprogram.jar 我已经正确设置了classpath,它引用了所有必需的jar,“ com.ibm.mq.jmqi.jar”也引用了具有MQException的classpath。 我仍然不清楚错误在哪里。 问题答案: 这几乎总是由客户端安装不完整和/或CLASSPATH问题共同引起的。许多人抓住了jar文件,而不

  • 我使用以下代码行设置了: broker的版本是8.0.0.1,MQ的版本是7.0.1.3。你能建议出了什么问题吗?根据前面的回答,我应该也安装客户端吗?

  • 我在线程“main”java中遇到异常。错误:未解析编译。 我做错了什么? 线程“main”中出现异常: java.lang.错误:未解决的编译问题: 对于类型在

  • 我从GitHub克隆了我的项目,现在我无法运行我的项目。 我收到以下错误: 知道是什么导致了这个错误吗? 编辑 我检查了这个问题Intellij在我发布到这里之前突然抛出ClassNotFoundException,它没有给我任何解决方案...为什么要将我的问题标记为重复,因为那个问题不能解决我的问题?

  • 我得到了这个错误: 线程“main”Java.lang.NosuchFielderRror:calificacion.main处的num1异常(problema_3.Java:17) 在这个简单的终端Java程序上键入第一个值后: 另一方面,这一个运行良好,我使用相同的输入法在这两个: 提前道谢。

  • 当我从nextInt()获取输入时,扫描器会抛出异常,但是如果我从nextLine()获取输入,然后将其解析为int,那么我的代码会正常运行。 如果可以将字符串输入解析为任何类型,为什么还要使用nextInt()或nextDouble()。