Search code examples
javajarzeromqjzmq

Version of zmq jar


I have zmq.jar built by someone else long time ago. How can I find out which version it corresponds to?

Not much in the MANIFEST:

$ cat MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.6.0_14 (Sun Microsystems Inc.)

Here's the contents. Would someone be able to tell whether it's 2.x or 3.x?

$ jar tvf zmq.jar
     0 Thu Feb 02 14:59:52 EST 2012 META-INF/
    71 Thu Feb 02 14:59:52 EST 2012 META-INF/MANIFEST.MF
  2429 Wed Feb 01 14:24:32 EST 2012 org/zeromq/App.class
  4320 Tue Jan 24 14:40:32 EST 2012 org/zeromq/EmbeddedLibraryTools.class
  2392 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZContext.class
  3536 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZFrame.class
   920 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQ$Context.class
  2401 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQ$Error.class
  3232 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQ$Poller.class
  5613 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQ$Socket.class
  2484 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQ.class
   771 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQException.class
  1468 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQForwarder.class
  1663 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQQueue.class
   424 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQStreamer.class
  9771 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMsg.class

Solution

  • Just ask for the version!

    import org.zeromq.ZMQ;
    
    public class ZMQVersion {
    
       public static void main (String[] args) {
          System.out.println(
            String.format("Version string: %s, Version int: %d",
              ZMQ.getVersionString(),
              ZMQ.getFullVersion()));
       }
    }