저는 초보자 인 프로그래밍 Websphere MQ classes for Java
입니다.
필자는 TCP/IP를 통해 큐에있는 메시지를 읽고 연결할 수있는 작은 응용 프로그램을 작성하기 위해이 방법을 따르기로 결정했습니다. http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.csqzaw.doc%2Fja10410_.htmWebsphere Client
설치 (버전 : 7.0.1.8)를 테스트하는 것이 좋습니다 지점 4에서Java 용 MQ 클래스로 간단한 jar를 실행하는 중 오류가 발생했습니다.
: 나를 위해 'LIBRARY_PATH'는 "C는 java -Djava.library.path=library_path MQIVP
입니다 창에 사용 명령 프롬프트이 설명서 다음
: \ 프로그램 파일 \ IBM \는 WebSphere MQ \ 자바 \ lib에 "
응용 프로그램 실행을하고 난 여기 Eclipse IDE
코드로 간단한 프로그램을 작성 진행 한 :
import com.ibm.mq.MQEnvironment;
public class MQtestMain {
public static void main(String[] args) {
System.out.println("main");
new MQtestMain();
}
public MQtestMain(){
System.out.println("MQtestMain");
MQEnvironment.hostname = "my.host.name";
MQEnvironment.channel = "my.channel";
MQEnvironment.port = 1414;
}
}
아무 관련이 없지만 모든 것이 올바르게 설정되었는지 테스트하는 것입니다.
"C : \ Program Files \ IBM \ WebSphere MQ \ java \ lib"에서 'com.ibm.mq.jar'및 'com.ibm.mq.jmqi.jar'로 사용자 정의 라이브러리를 설정했습니다. 컴파일시에는 오류가보고되지 않습니다.
Eclipse
에서 응용 프로그램을 실행하면 콘솔에 "main"및 "MQtestMain"이 올바르게 인쇄됩니다.
설정 '생성 된 JAR로 패키지 필요한 라이브러리'불행하게도
내가 창에서 프로그램을 실행 명령 프롬프트 경우에 '도서관 처리'java -jar MQtest.jar
여기 결과 :
main
MQtestMain
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.NoClassDefFoundError: javax/resource/ResourceException
at com.ibm.mq.MQEnvironment.<clinit>(MQEnvironment.java:576)
at MQtestMain.<init>(MQtestMain.java:21)
at MQtestMain.main(MQtestMain.java:14)
... 5 more
Caused by: java.lang.ClassNotFoundException: javax.resource.ResourceException
at java.net.URLClassLoader$1.run(Unknown Source)
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 java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more
제 1 및 제 2 라인은 정확하지만 난 정말 다음과 같은 오류를 이해하지 못하는
,581,088,243,210는업데이트 : 내가 당신에게 더 많은 정보를 제공하기 위해 노력
: 나는 문제가 없는지 주요 class
파일에서 응용 프로그램을 실행 말한 것처럼 jar
파일을 실행하면서,
을 그렇지 않아 보인다 IBM 라이브러리를 찾을 수 있습니다.
이 응용 프로그램에서 사용하는 두 개의 jar 패키지가 들어있는 eclipse
이라는 개인 라이브러리를 "Java 용 MQ 클래스"라는 이름으로 만들었습니다. 여기
프로젝트 .classpath
파일의 내용 :
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/MQ classes for Java"/>
<classpathentry kind="output" path="bin"/>
</classpath>
은 WMQ 클라이언트와 모든 기계 설치를 형성 시작하기 위해 실행 가능한 항아리에 올바른 라이브러리를 링크하는 방법이 있나요?
솔루션 : \ 프로그램 파일 \ IBM : 인해 일부 종속성
오류가, 포함 해결 된 찾을 수 없습니다 WMQ Client
폴더 소 instalation ("C로 모든IBM classes for Java
jar
파일 \ WebSphere MQ \ java \ lib ")
설치된 WMQ 클라이언트 버전은 무엇입니까? ('dspmqver' 또는''C : \ Program Files \ IBM \ WebSphere MQ \ bin \ dspmqver "'라고 입력했을 때 표시되는 내용은 무엇입니까?) –
결과 :'Name : WebSphere MQ' 'Version : 7.0.1.8' 'CMVC 수준 : p701-108-120224' 'BuildType : IKAP - (Production)' – Mave751
[tag : eclipse] 태그로 [tag : command-prompt] 태그를 대체하는 것이 더 나을 것 같아요. 이 문제를 MQ 문제로 말했지만, 실제로 말하는 것은 "Eclipse에서 작동하는 프로그램이 있지만 종속 라이브러리를 포함하는 실행 가능한 jar를 만들려고하면 ClassNotFoundException이 발생합니다. 실행 시간. " MQ 문제보다 이클립스 문제와 비슷한 것으로 들리네. 물론 원하는 경우 MQ 문제로 처리 할 수 있으며'CLASSPATH' 및'-Djava.library.path'를 사용하여 확실히 작동시킬 수 있습니다. –