외부 DLL (zmq)을 사용하는 Java 응용 프로그램이 있습니다. 이클립스에서 디버그 모드로 실행할 때 괜찮습니다. 그러나 응용 프로그램을 Runnable JAR 파일로 내 보낸 다음 실행하려고하면 dll을 참조하는 오류가 발생합니다. 이 사이트에 대한 연구에 이어 JRE 시스템 라이브러리의 빌드 경로를 구성하고 dll이 포함 된 폴더의 경로를 네이티브 라이브러리 위치에 추가했지만 여전히 오류가 발생합니다. 추가 작업이 필요합니까? 아니면 다른가? 감사합니다. .java.lang.UnsatisfiedLinkError : java.library.path에 jzmq이 없습니다.
2
A
답변
2
JZMQ는 zmq.dll
(기본 ZMQ 라이브러리)과 jzmq.dll
(Java와 ZMQ 사이의 "브리지"라이브러리)이라는 두 가지 작업이 필요합니다. 당신이 얻는 특별한 오류는 컴파일 환경이 jzmq.dll
을 찾을 수 없다는 것을 의미합니다. jzmq.dll
을 찾을 수있는 경로를 지정하기 만하면됩니다. 지금까지 알고있는 한 jzmq.dll
을 JAR 파일에 넣을 방법이 없으므로 클래스 경로에 포함 할 수 있습니다.
불행히도 Windows에서 정확하게 수행하는 방법을 말할 수는 없습니다. DLL이 SO 파일 인 Linux에서 왔습니다. 간단한 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/jzmq
일 것입니다.
그래서이 외부 항아리가 runnabble jar에 존재합니까? – Kick
외부 항아리가 아닙니다. 그것은 외부 dll입니다. – user3062233
오크 크 파일 이니 실행 가능한 항아리에 존재합니까? – Kick