2014-05-10 4 views
0

내 mac osX Mavericks 10.9.2에 zeromq를 설치하는 데 문제가 있습니다. 우분투, 페도라 및 윈도우에 성공적으로 설치했지만 내 Mac (기본 개발 시스템)에 설치하는 데 문제가 있습니다.NoClassDefFoundError Mac에 설치 후 zeromq

처음에는 정상적인 설치를 시도했지만 모든 종속성을 쉽게 얻을 수 없다고 생각하고 ldconfig를 사용하지 않고 설치를 완료하는 방법을 이해하지 못했습니다.

그래서 브루 인스톨은 here과 같습니다.

사제는 내가 구성, 확인 및 설치 확인, 버전 2.1.1을 jzmq 복제 및 autogen.sh을 실행 한 후 4.04

zeromq를 설치했습니다.

Mac에 ldconfig가 없으므로 예제를 실행하려고했을 때 zmq.jar을 classpath에 추가하고 libs를 java 명령에 추가했습니다. 이것이 내가 가진 것입니다.

$ java -Djava.library.path=/usr/local/lib -cp /usr/local/share/java/zmq.jar local_lat tcp://127.0.0.1:5000 1 100 
Error: Could not find or load main class local_lat 

공식 설치 가이드에서 제안하고 나는이 얻을 나는이 jar 파일을 가리키는

추가 $ CLASSPATH 밖으로 클래스 경로 옵션을 꺼내서 문제를 해결하려고합니다.

$ java -Djava.library.path=/usr/local/lib local_lat tcp://127.0.0.1:5000 1 100 
Exception in thread "main" java.lang.NoClassDefFoundError: org/zeromq/ZMQ 
    at local_lat.main(local_lat.java:36) 
Caused by: java.lang.ClassNotFoundException: org.zeromq.ZMQ 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    ... 1 more 

이 설치하고 다른 시스템에서 사람 사이의 주요 차이점은 내가 가리와 라이브러리 (ldconfig를)를 다시 캐시하는 방법을 모른다는 것이다. 그러나 java 명령의 옵션/인수가이를 처리하지는 않습니다. 그것이 내가 사용한 링크가 제안한 것입니다. 어쨌든 왜이 문제가 생길 수 있습니까?

+0

커맨드 라인에서 /usr/local/share/java/zmq.jar local_lat 사이에 콜론 또는 세미콜론을 사용해서는 안됩니까? –

+0

방금 ​​시도했지만 ... 작동하지 않았습니다. :( – oeber

답변

0

jzmq가 zeroMQ 설치를 찾을 수 없기 때문에 동일한 문제가 발생했다는 것을 알았습니다. 이 개 jar 파일을 클래스 패스의 순서는 여기에 아주 중요하다 그래서이 명령을 설치 사용을

$ java -Djava.library.path=/usr/local/lib -cp /usr/local/share/java/zmq.jar local_lat tcp://127.0.0.1:5000 1 100 

주를 테스트하기 위해 반환 한 폴더 /path/to/jzmq/src/main/perf/zmq-perf.java에 jzmq 설치에 의해 /usr/local/share/java/zmq.jar에 거주 설치 및 기타 zmq에 의해 생성 된 하나가 될 것이다 오류의 원인입니다. 먼저 jzmq에 의해 생성 된 jar 파일은 zmq에 의해 생성 된 jar 파일을 참조해야합니다.