当前位置:编程学习 > JAVA >>

急急急急急急,弄了一个星期都出不来,可能要被开除了啊,请帮帮忙解决一下

这是代码,发现老是出错,不知道怎么回事啊(系统用的是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)
--------------------编程问答-------------------- 缺少jar包或者jdk版本的问题 --------------------编程问答-------------------- com.ibm.mq.MQEnvironment所在的jar包没有导入或者版本冲突。 --------------------编程问答-------------------- Java EE 5.0 才有javax/resource/ResourceException
一楼的解释是对的 --------------------编程问答-------------------- 缺少一个jar包 --------------------编程问答-------------------- 这个东西不会! --------------------编程问答-------------------- 包都有了,用的是eclipse3.2,建的一个项目,JDK1.5,当我把JRE System Library改成是jre,就报上面的错,要是改成jdk就会跳一个JAVA Virtual Machine Launcher的错误对话框,说是Could not find the main class.Program will exit,请帮帮忙看一下啊 --------------------编程问答-------------------- 1,这是由于没有将connector.jar加入classpath路径中。 
connector.jar在%MQMDIR%\Java\Lib路径中,其中%MQMDIR%为MQSeries安装目录。
这条在官网上说了http://www-01.ibm.com/support/docview.wss?uid=csc148256d65004dc82448256d6500427c18

2,JDK的原因,你用的是WebSphere6.0里的JDK,切换到SUN的JDK就正常了。
所以,如果你需要使用IBM的JDK的话,那么要把MQ的这几个包覆盖到IBM JDK的相关路径下。
--------------------编程问答-------------------- 貌似是jar包没有诶,也可能是路径的问题。 --------------------编程问答-------------------- 一个类路径也搞死人呀!! --------------------编程问答-------------------- 挂啦 --------------------编程问答-------------------- 还有人和我遇上一样的问题。。。~ --------------------编程问答-------------------- 包有放到WEB-INF下的lib中吗,请确认好 --------------------编程问答-------------------- 可能要被开除了。。怕怕。。 --------------------编程问答-------------------- 怎么可能开除啊 --------------------编程问答-------------------- 同意7楼 --------------------编程问答-------------------- jar包问题 --------------------编程问答-------------------- 淡定点 ~~不要急~~积分走人 --------------------编程问答-------------------- Exception in thread "main" java.lang.NoClassDefFoundError: 
这种错误多半是jre的问题,或者环境变量没有配置正确。。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 尼玛2年前的帖子都被人翻出来了,更可恨的是楼主,2年都没有结贴 --------------------编程问答-------------------- 检查环境变量,检查jar包,检查版本!代码没错 --------------------编程问答-------------------- 哈哈,要被开除了 --------------------编程问答-------------------- jar包版本问题啊。 编译一下jar包。 或者升级jdk版本到1.6 就可以了
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,