Java: Maven use

Maven use for Java

Maven is one of the easiest ways to include Sim0MQ in a Java project. The Maven files for Sim0MQ reside at https://sim0mq.org/maven. When a POM-file is created for the project, the following snippet needs to be included to include Sim0MQ:

<dependencies>
  <dependency>
    <groupId>org.sim0mq</groupId>
    <artifactId>sim0mq</artifactId>
    <version>1.01.01</version>
  </dependency>
</dependencies>

Of course, the version number (1.01.01 in the above example) needs to be replaced with the version that one wants to include in the project.

Right now, the Sim0MQ files are kept on a server at TU Delft, and are not yet made available on Maven Central. Therefore, the repository location has to be specified separately in the Maven POM-file:

<repositories>
  <repository>
    <name>sim0mq Public Repository</name>
    <id>sim0mq</id>
    <url>http://sim0mq.org/maven</url>
  </repository>
</repositories>

Dependencies

SIM0MQ is directly dependent on four packages, which have a limited set of further dependencies:

  • jeromq for a native Java implementation of ZeroMQ. jeromq is dependent on jnacl for several cryptographic primitives.
  • dunits for the use of units. djunits is dependent on joda-money and ojalgo.
  • djutils for the use of several helper classes. djutils is dependent on tinylog.
  • djutils-serialization for the (de)serialization classes.

If the Sim0MQ library is used as a part of a Maven project, all dependencies will be automatically resolved, and the programmer / user does not have to worry about finding the libraries.