首页 > 解决方案 > 错误:包 org.zeromq.ZMQ 不存在

问题描述

我正在尝试在 Windows 10 操作系统中运行 Zeromq java 程序。为了设置环境,我尝试执行以下操作。

1) 从这里http://zeromq.org/distro:microsoft-windows下载并安装 ZMQ 的 java 库。

2)在环境变量中添加路径。

3) 尝试从 zguide 运行简单的 Hello World 代码。

服务器:

import org.zeromq.ZMQ;

public class Hwserver {

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

    //  Socket to talk to clients
    ZMQ.Socket responder = context.socket(ZMQ.REP);
    responder.bind("tcp://*:5555");

    while (!Thread.currentThread().isInterrupted()) {
        // Wait for next request from the client
        byte[] request = responder.recv(0);
        System.out.println("Received " + new String (request));

        // Do some 'work'
        Thread.sleep(1000);

        // Send reply back to client
        String reply = "World";
        responder.send(reply.getBytes(), 0);
    }
    responder.close();
    context.term();
}
}

客户:

import org.zeromq.ZMQ;

public class Hwclient {

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

    //  Socket to talk to server
    System.out.println("Connecting to hello world server…");

    ZMQ.Socket requester = context.socket(ZMQ.REQ);
    requester.connect("tcp://localhost:5555");

    for (int requestNbr = 0; requestNbr != 10; requestNbr++) {
        String request = "Hello";
        System.out.println("Sending Hello " + requestNbr);
        requester.send(request.getBytes(), 0);

        byte[] reply = requester.recv(0);
        System.out.println("Received " + new String(reply) + " " + requestNbr);
    }
    requester.close();
    context.term();
}
}

当我尝试编译服务器时,出现以下错误。

error: cannot find symbol import org.zeromq.ZMQ; 

之后,我尝试手动安装该库。我做了以下。

1) 从 Github 下载并解压 Libzmq-master 和 jzmq-master。

2) 使用 Visual Studio 2017 尝试从此处的目录构建 libzmq.sln 和 msvc.sln

libzmq - libzmq-master\builds\deprecated-msvc\vs2017\libzmq.sln

jzmq - jzmq-master\jzmq-jni\builds\msvc\msvc.sln

但无法构建它。发现几个错误。例如:

libzmq - #error: 没有定义 ZMQ_IOTHREAD_POLLER_USE_* 宏(编译源文件........\src\client.cpp) libzmq c:\users\shiha\downloads\libzmq-master\src\poller.hpp

jzmq - 无法打开包含文件:'zmq.h':没有这样的文件或目录

我没有得到我做错了什么。我按照 zeromq.org 中提供的指南进行操作,也搜索了类似的问题。但无法找到解决方案。

标签: javazeromqjzmq

解决方案


推荐阅读