Java binding for ZeroMQ
Clone or download
c-rack Merge pull request #450 from jcoeltjen/master
EmbeddedLibraryTools: Add Windows specific library names.
Latest commit 1166757 Mar 9, 2017

What is JZMQ?

This is the Java language binding for libzmq (aka ZeroMQ, 0MQ).

Build Status

The latest javadocs.

Building and Installing JZMQ

To build you need to have the libzmq library already installed, then you run:

cd jzmq-jni/
make install
cd ..
mvn package

If you hope to install to your local maven, then you should run:

mvn install -Dgpg.skip=true

Avoiding JNI

JZMQ uses JNI to wrap libzmq for the best performance. If performance isn't your primary goal, look at the JeroMQ project, which is a pure Java implementation that provides an identical API to JZMQ, and uses the same protocol.

Building Packages

To build a Debian package, run:

$ dpkg-buildpackage -rfakeroot

To build an RPM package, run:

$ rpmbuild -tb jzmq-X.Y.Z.tar.gz

Where X.Y.Z is replaced with the version that you've downloaded.

If configure can't find your libzmq installation, you can tell it where to look, using e.g. --with-zeromq=/usr/local.

You may want to take a look at for additional hints.

For more information, refer to the ØMQ website at

On Mac OS X you may need to compile and make install pkg-config if configure fails with "syntax error near unexpected token newline".
See for details.

You may also need to symlink the header files of your standard Java installation (e.g. /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers/*.h) into a suitable directory (e.g. /usr/local/include) and point the JAVA_HOME environment variable to the parent directory (e.g./usr/local).


YourKit is kindly supporting ZeroMQ project with its full-featured Java Profiler.


Free use of this software is granted under the terms of the GNU Lesser General Public License (LGPL). For details see the files COPYING and COPYING.LESSER included with the Java binding for ØMQ.