Skip to main content

Installation

CIMXML is published under the de.soptim.opencgmes group as the cimxml artifact. Add it to your build with Maven or Gradle, ensure you are on Java 21+, and you are ready to parse models — the library pulls in Apache Jena 6.1.0 (the jena-arq module) transitively.

Maven

<dependency>
<groupId>de.soptim.opencgmes</groupId>
<artifactId>cimxml</artifactId>
<version>1.1.0</version>
</dependency>

Gradle

implementation("de.soptim.opencgmes:cimxml:1.1.0")

Requirements

RequirementVersion
Java21 or newer
Apache Jena6.1.0
Build toolMaven 3.9+ / Gradle

Beyond Jena, the library depends on the Woodstox and Aalto StAX processors, Apache Commons IO, and Apache Commons Lang3 — all resolved transitively.

Releases and snapshots

CIMXML uses GitHub Actions for CI/CD, and the artifact is distributed in two channels:

ChannelWhat you getWhen it is published
Maven CentralSigned release artifacts (X.Y.Z)On pushing a release tag cimxml-vX.Y.Z
GitHub Packages-SNAPSHOT builds and release artifactsOn every push to main (snapshots) and on release

The cimxml/pom.xml on main stays at X.Y.Z-SNAPSHOT; the release version is supplied by the release tag and applied by CI for deployment only.

Consuming snapshots

To pull a -SNAPSHOT build, add the GitHub Packages repository for the OpenCGMES project to your build's repository list. Stick to Maven Central release versions for reproducible builds.

Once the dependency resolves, head to the Quick start to parse your first model, or see Library usage for using CIMXML inside your own project's tests.