This is the Maven parent for every OpenEPCIS project. It centralizes dependency versions, the Java version, and build plugins, so all modules build consistently.
Without a shared parent, each module/repository sets its own versions for Quarkus, Jackson, and plugins, and they gradually drift apart. Using a single parent keeps them aligned: a module declares a dependency without specifying a version, and the version comes from this parent.
Inherit it as the parent:
<parent>
<groupId>io.openepcis</groupId>
<artifactId>openepcis-bom</artifactId>
<version>0.9.3</version>
</parent>Or import only the managed versions, if the project already has a parent:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.openepcis</groupId>
<artifactId>openepcis-bom</artifactId>
<version>${parent.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>OpenEPCIS repositories themselves follow the rolling 999-SNAPSHOT, which always carries the newest
versions.
| Java | 25. Modules should not set source, target or release on their own |
| Quarkus | 3.33.3 through quarkus-bom, plus the AWS services and CXF BOMs |
| Jackson | 2.22.1 through jackson-bom |
| Other libraries | JSON-LD, JSON schema validation, Elasticsearch client, Swagger, commons |
| Build plugins | compiler, surefire, failsafe, JaCoCo, Jandex, Checkstyle, license, javadoc, sources, GPG |
These work in any project that inherits this parent.
mvn git-code-format:format-code # format the sources
mvn checkstyle:checkstyle # run the style check
mvn license:format # add the license header to new files- OpenEPCIS Tools - open source EPCIS 2.0 tools and services
- OpenEPCIS - Read more about OpenEPCIS
- OpenEPCIS on GitHub - the repositories that use this BOM
- benelog GmbH & Co. KG - Company behind the OpenEPCIS
- GS1 EPCIS Standard - Learn more about EPCIS
Licensed under the Apache License 2.0.