[mqm@bsstest jzy]$ java SendAndReceiveMSG
Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/mq/MQEnvironment
  at SendAndReceiveMSG.<init>(SendAndReceiveMSG.java:22)
  at SendAndReceiveMSG.main(SendAndReceiveMSG.java:18)
Caused by: java.lang.ClassNotFoundException: com.ibm.mq.MQEnvironment
  at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  ... 2 more
SendAndReceiveMSG.java原码:
 
import com.ibm.mq.MQC;
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQException;
import com.ibm.mq.MQGetMessageOptions;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;public class SendAndReceiveMSG{
private MQQueueManager qMgr;public static void main(String[] args) {
  new SendAndReceiveMSG();
}public SendAndReceiveMSG(){
  MQEnvironment.hostname="127.0.0.1"; 
……
……这个问题求解

解决方案 »

  1.   

    MQEnvironment类无法加载,你看看路径错了没有
      

  2.   

    没有,这个类里是导入的:
    import com.ibm.mq.MQC;
    import com.ibm.mq.MQEnvironment;
    import com.ibm.mq.MQException;
    import com.ibm.mq.MQGetMessageOptions;
    import com.ibm.mq.MQMessage;
    import com.ibm.mq.MQQueue;
    import com.ibm.mq.MQQueueManager;这几个,都是在import com.ibm.mq.jar包里的。
      

  3.   

    你看看MQEnvironment类文件是否找不到了。
      

  4.   

    MQEnvironment.java文件如果你确定存在 
    那么可能是你的项目使用了什么 导致在运行时 这个类没有编译或者编译后被删除了或者不是动态编译但被删除了
      

  5.   

    com.ibm.mq.MQEnvironment没有找到
    在你定义的classpath(如果你有定义的话)下面找不到包含它的Jar包,把该Jar包加进去就行了
      

  6.   

    MQEnvironment 这个是com.ibm.mq.MQEnvironment这里的,是com.ibm.mq.jar包里面的。
      

  7.   

    com.ibm.mq.MQEnvironment这个class没找着,看看路径,加载了没
      

  8.   

    在linux下怎么看加没加载呢?我在执行时加入这个JAR路径了。