簡體   English   中英

在Mac上安裝后出現NoClassDefFoundError zeromq

[英]NoClassDefFoundError zeromq after installing on Mac

我在Mac osX Mavericks 10.9.2上安裝zeromq時遇到問題。 我已經在ubuntu,fedora和Windows上成功安裝了它,但是在我的mac(主要開發機器)上安裝它遇到了麻煩。

首先,我認為我嘗試了常規安裝,但無法輕松獲取所有依賴項,並且不了解如何在不使用ldconfig的情況下完成安裝。

所以我選擇了這里描述的Brew安裝。

自制安裝zeromq 4.04

然后我克隆了jzmq 2.1.1版並運行了autogen.sh,進行了配置,制作和安裝。

由於mac中沒有ldconfig,因此當我嘗試運行示例時,我將zmq.jar添加到類路徑和java命令中的libs中。 這就是我得到的。

$ 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

嘗試進行故障排除,我取出了classpath選項

按照官方安裝指南中的建議添加了指向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命令的選項/參數不會處理它。 這就是我使用的鏈接所建議的。 無論如何,為什么我會遇到這個問題?

我遇到了同樣的問題,發現這是因為jzmq無法找到zeroMQ安裝。 將有兩個jar文件,一個是由駐留在/usr/local/share/java/zmq.jar的zmq安裝生成的,另一個是由perf文件夾/path/to/jzmq/src/main/perf/zmq-perf.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

請注意,這里的類路徑順序非常重要,這就是錯誤的原因。 首先要引用jzmq生成的jar文件,然后再引用zmq生成的jar文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM