我正在尝试将 zeroMQ
嵌入到我的应用程序中,我按照 this guideline 安装 ZMQ
,所以直到这里一切正常。
我的应用程序中有这行代码:
ZMQ.Context m_context = ZMQ.context(1);
但上面的代码行引发以下异常:Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/libjzmq-812339378390536247.lib: libzmq.so.3: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825)
at java.lang.Runtime.load0(Runtime.java:792)
at java.lang.System.load(System.java:1059)
at org.zeromq.EmbeddedLibraryTools.loadEmbeddedLibrary(EmbeddedLibraryTools.java:136)
at org.zeromq.EmbeddedLibraryTools.<clinit>(EmbeddedLibraryTools.java:22)
at org.zeromq.ZMQ.<clinit>(ZMQ.java:38)
at com.castaclip.verticals.Messenger.<init>(Messenger.java:125)
at com.castaclip.verticals.PushMessenger.<init>(PushMessenger.java:30)
at com.castaclip.verticals.pushserver.App.setup(App.java:60)
at com.castaclip.verticals.pushserver.App.main(App.java:41)
错误正是指向 this line 。P.S:完全解释这个问题有点困难..如果你有任何问题,请告诉我。谢谢。
最佳答案
如果您已按此顺序成功构建 libzmq 和 jzmq,我将运行:
$ sudo ldconfig
更新系统库缓存。然后我会检查 LD_LIBRARY_PATH 是否像 Raffian 提到的那样定义,或者将您的库路径显式设置为:
$ java -Djava.library.path=/usr/lib:/usr/local/lib
关于java - ZMQ - libzmq.so.3 : cannot open shared object file: No such file or directory,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17275875/