[英]How to run ZeroMQ with Java?
我在使用Eclipse和Windows XP使用Java運行ZeroMQ時遇到了問題。 我已成功安裝[我認為] 0MQ庫以及Java綁定。 我以前的說明就在這里 。
構建了兩個文件: zmq.jar和jzmq.dll 。 我將jar文件放在我的項目中,這允許代碼編譯好。 我還將java.library.path設置為dll的目錄,將perf目錄添加到我的項目中,並將libzmq.dll添加到我的PATH中。 (全部按照說明)。
我仍然得到以下我無法解決的異常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\\jzmq\\lib\\jzmq.dll: Can't find dependent libraries
jzmq.dll依賴於哪些其他庫? 我試過將libzmq.dll放在任何地方,但這沒有幫助。 這是我試圖開始工作的代碼示例。
謝謝。
把任何dll放在Windows root或Windows System32中都是難看的解決方案,它只是把你拉到Dll HELL。
您需要做的是在系統路徑中添加ZQM二進制路徑。
我在一小時內編譯了64位ZMQ和JZMQ,這是我的文件夾結構:
c:\ZMQ\bin --- jzmq.dll, libzmq.dll c:\ZMQ\lib --- ZMQ.jar
這是一步:
將binray路徑添加到系統環境中,詳細步驟是控制面板 - 系統---提前設置,並在彈出選項卡中找到'advance' - '環境變量'---找到'PATH' 'system vairiabls'並在值中添加C:\\ ZMQ \\ bin
打開dos提示符,然后鍵入'where jzmq.dll'(我不確定XP中是否存在where.exe)以確認它是否在PATH中。
啟動Eclipse,打開項目,右鍵單擊項目名稱,然后在菜單“構建路徑 - 添加外部存檔”中選擇C:\\ ZMQ \\ lib \\ zMQ.jar。
全部完成!
在我的電腦中,該示例正確運行。
您應該將libzmq.dll復制到java.library.path指向的位置並使用:
System.loadLibrary("libzmq")
原因是jzmq依賴於libzmq,因此必須首先加載libzmq。
我剛剛遇到過這個問題。 我通過將jzmq.dll和libzmq.dll放入System32文件夾找到了解決方法。 我不認為這是一個永久性的解決方案,但它暫時起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.