这是代码,发现老是出错,不知道怎么回事啊(系统用的是window XP ,MQ的版本是WebSphere MQ V6.0的)package transfer;import com.ibm.mq.MQC;
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQPutMessageOptions;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;public class SendMSG1 {/**
* @param args
*/private MQQueueManager qMgr;// 定义一个队列管理器public static void main(String[] args) {
// TODO Auto-generated method stub
new SendMSG1();
}public SendMSG1() {
// TODO Auto-generated constructor stub
MQEnvironment.hostname="192.168.1.66";  //本地IP
MQEnvironment.channel="QM_ORANGE.QM_APPLE";    //用来通信的通道
MQEnvironment.CCSID=1381;
try{
qMgr=new MQQueueManager("QM_ORANGE");//队列管理器名称
int openOptions=MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE;
MQQueue queue=qMgr.accessQueue("Q2", openOptions);
MQMessage hello=new MQMessage(); //要写入队列的消息
try{
hello.format=MQC.MQFMT_STRING;
hello.characterSet=1381;
hello.writeString("asdfasdfasdfasdf");
}catch(java.io.IOException ex){}
finally{}
MQPutMessageOptions pmo=new MQPutMessageOptions();
for(int i=1;i <=5;i++){    //将消息依次写入队列
hello.expiry=-1;//设置消息用不过期
queue.put(hello);//将消息放入队列
}
queue.close();//关闭队列
qMgr.disconnect();//断开连接
}catch(Exception ex){}
finally{}
}}这就是那个错误,不知道,为什么老是出这个错误。
Exception in thread "main" java.lang.NoClassDefFoundError: javax/resource/ResourceException
at com.ibm.mq.MQEnvironment. <clinit>(MQEnvironment.java:441)
at transfer.SendMSG1. <init>(SendMSG1.java:25)
at transfer.SendMSG1.main(SendMSG1.java:20)

解决方案 »

  1.   

    com.ibm.mq.MQEnvironment所在的jar包没有导入或者版本冲突。
      

  2.   

    Java EE 5.0 才有javax/resource/ResourceException
    一楼的解释是对的
      

  3.   

    包都有了,用的是eclipse3.2,建的一个项目,JDK1.5,当我把JRE System Library改成是jre,就报上面的错,要是改成jdk就会跳一个JAVA Virtual Machine Launcher的错误对话框,说是Could not find the main class.Program will exit,请帮帮忙看一下啊
      

  4.   

    1,这是由于没有将connector.jar加入classpath路径中。 
    connector.jar在%MQMDIR%\Java\Lib路径中,其中%MQMDIR%为MQSeries安装目录。
    这条在官网上说了http://www-01.ibm.com/support/docview.wss?uid=csc148256d65004dc82448256d6500427c182,JDK的原因,你用的是WebSphere6.0里的JDK,切换到SUN的JDK就正常了。
    所以,如果你需要使用IBM的JDK的话,那么要把MQ的这几个包覆盖到IBM JDK的相关路径下。
      

  5.   

    貌似是jar包没有诶,也可能是路径的问题。
      

  6.   

    包有放到WEB-INF下的lib中吗,请确认好
      

  7.   

    Exception in thread "main" java.lang.NoClassDefFoundError: 
    这种错误多半是jre的问题,或者环境变量没有配置正确。
      

  8.   

    检查环境变量,检查jar包,检查版本!代码没错
      

  9.   

    jar包版本问题啊。 编译一下jar包。 或者升级jdk版本到1.6 就可以了