2014-02-18 57 views
0

我花了一天的时间来解决这个问题,所以如果你打算使用ZeroMQ和java绑定来设置CentOS 6.4,可能会节省你的时间。jzmq vs jeromq让ZeroMQ启动并运行,jeromq工作但不是jzmq,但是为什么?

从github的源代码中为基本的Hello World例子安装了jzmq,libzmq,zmq-4.x。还在不停地得到什么,几乎让我抓狂:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.zeromq.ZMQ$Socket.nativeInit()V 
at org.zeromq.ZMQ$Socket.nativeInit(Native Method) 
at org.zeromq.ZMQ$Socket.<clinit>(ZMQ.java:435) 
at org.zeromq.ZMQ$Context.socket(ZMQ.java:365) 
at samples.zeromq.HWClient.main(HWClient.java:15) 

Maven的依赖关系:(!)

<dependency> 
     <groupId>org.zeromq</groupId> 
     <artifactId>jzmq</artifactId> 
     <version>3.0.1</version> 
</dependency> 

但是完全放弃之前,我把它改为:

<dependency> 
     <groupId>org.zeromq</groupId> 
     <artifactId>jeromq</artifactId> 
     <version>0.3.3</version> 
</dependency> 

,一切都解决了!

我想JINI包装jzmq有些问题。任何想法为什么发生这种情况并有可能如何解决它?

+0

@Reimeus可能的重复(http://stackoverflow.com/questions/18474624/storm-error-java-lang-unsatisfiedlinkerror)是与风暴和2.1.7版本。异常涉及到方法finalize而不是nativeInit! – AmirHd

+1

您是否已将jzmq本机库添加到Java库路径中? “java -Djava.library.path = [jzmq.path] ...” – Claude

回答

2

正如@Claude所述,libzmq可能不在库路径上。

解决方案可以找到here

相关问题