首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将jzmq.dll加载到java中

无法将jzmq.dll加载到java中
EN

Stack Overflow用户
提问于 2017-11-12 23:06:59
回答 1查看 659关注 0票数 0

我想用java运行zmq。我试着像在question中那样做。

我先编译了项目https://github.com/zeromq/libzmq,然后编译了https://github.com/zeromq/jzmq

毕竟,使用参数-Djava.library.path=C:\zmq\jzmq\jzmq-jni\builds\msvc\x64\Release\;C:\zmq\libzmq\bin\x64\Release\v141\dynamic运行我的程序

代码语言:javascript
复制
import org.zeromq.ZMQ;

public class TestZMQ {

    public static void main(String[] args) throws Exception {
        ZMQ.Context context = ZMQ.context(1);
    }
}

因此,我有一个例外

代码语言:javascript
复制
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\zmq\jzmq\jzmq-jni\builds\msvc\x64\Release\jzmq.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at org.zeromq.ZMQ.<clinit>(ZMQ.java:40)
    at TestZMQ.main(TestZMQ.java:8)

Dependency walker显示多个错误。人们说它的出现是因为walker自己,而不是图书馆。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-11-22 03:04:19

windows中的java.library.path存在问题。通常,它使用系统变量Path并将其放入java.library.path。当我设置-Djava.library.path=myLybraryPath时,它变成了myLybraryPath,但是你需要像这样的${java.library.path};myLybraryPath,否则你的应用程序就找不到windows lib了。

通过在Path's系统变量中添加我的库,我找到了这个问题的解决方案。There is another similar solution

set PATH=%PATH%;myLybraryPath

PS:在linux中没有同样的问题。这只是windows的jvm 实现问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47250305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档