[英]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.