此库 (jzmq) 绑定到本机库 libzmq。如果您不使用 libzmq 的功能(例如 ipc),您最好使用完整的 java 实现 - jeromq(mvnrepo,jeromq git)。它具有几乎相同的功能。
否则如果你需要jzmq,你必须正确编译它。这是我在 Windows x64 上编译它的方式:
要构建库,您需要 IDE Visual Studio 2010 或更高版本。在这个例子中,我使用了 2013 版本。所有工作都在目录中执行C:\zmq
(例如)。
- 获取 zeromq、jzmq 和 libsodium-1.0.10 源。
- 将 zeromq 目录的全部内容复制到
C:\zmq
.
- 创建一个目录
C:\zmq\java
。
- 将 jzmq 目录的全部内容复制到
C:\zmq\java
.
- 创建目录
C:\zmq\libsodium
和C:\zmq\libsodium
- 复制到
C:\zmq\libsodium\bi
nlibsodium-1.0.10-msvc\Win32
和
libsodium-1.0.10-msvc\x64
目录。
- 创建一个目录
C:\zmq\libsodium\src
。
- 复制到
C:\zmq\libsodium\src directory
libsodium-1.0.10-msvc\include。
Zeromq。
在 Visual Studio 中从目录中打开相应的 zeromq 解决方案文件C:\zmq\builds\msvc
。
打开配置管理器。主动配置解决方案 - 选择 DynRelease。主动解决方案平台 - 选择 x64。
打开项目属性页面,进入配置属性 - C/C++ - 常规,检查包含文件目录的路径。
然后选择链接器 - 常规,并检查库目录的路径。
在配置文件C:\zmq\builds\msvc\vs2013\libsodium.import.props
中正确的路径部分。
然后构建它,如果一切正确,您将在C:\zmq\bin\x64\Release\v120\dynamic
目录中获得 dll。如果不是 - 检查日志,进行更改并重建它。
jzmq。
现在从目录中打开相应的 jzmq 解决方案文件C:\zmq\java\builds\msvc\
以及在 zeromq 项目中打开配置管理器并选择 Release 和 x64 平台。
打开项目属性页面,转到配置属性 - VC ++ 目录并检查安装 JDK 的路径是否正确。你会看到这样的东西:
..\..\..\..\include;C:\Program Files\Java\jdk1.7.0_71\include;C:\Program
Files\Java\jdk1.7.0_71\include\win32;$(IncludePath)
还要检查库目录(忘记它的名称)路径是否包括带有构建 zeromq 库的目录的路径。它看起来像这样:
..\..\..\..\bin\x64\Release\v120\dynamic;$(LibraryPath)
在属性页面上,转到配置属性-组装事件-组装前的事件并检查属性“命令提示符”(首先检查复制命令中文件的路径)。它看起来像这样:
copy ..\config.hpp "..\..\..\src\main\c++\"
然后构建 jzmq,如果一切正确,您将获得C:\zmq\java\lib
.
如果不是 - 检查日志,进行更改并重建它。
在C:\zmq
您只需要 binjava\lib
目录中,其余的可以删除。
将路径添加到 PATHbin\x64\Release\v120\dynamic
并运行您的 java 应用程序-Djava.library.path="path_to_java\lib"