helidon-dependencies
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.helidon</groupId>
<artifactId>helidon-dependencies</artifactId>
<version>4.4.1</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2019, 2026 Oracle and/or its affiliates.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.helidon</groupId>
<artifactId>helidon-bom</artifactId>
<version>4.4.1</version>
<relativePath>../bom/pom.xml</relativePath>
</parent>
<artifactId>helidon-dependencies</artifactId>
<packaging>pom</packaging>
<name>Helidon Dependencies</name>
<description>Maven dependency management for Helidon applications</description>
<properties>
<!--
Changing these versions requires approval for a new third party dependency!
-->
<version.lib.activemq>5.16.0</version.lib.activemq>
<version.lib.antlr>4.13.2</version.lib.antlr>
<version.lib.brave-opentracing>1.0.0</version.lib.brave-opentracing>
<version.lib.bytebuddy>1.18.5</version.lib.bytebuddy>
<version.lib.coherence>25.03.1</version.lib.coherence>
<version.lib.commons-codec>1.16.0</version.lib.commons-codec>
<version.lib.commons-compress>1.27.1</version.lib.commons-compress>
<version.lib.commons-io>2.16.1</version.lib.commons-io>
<version.lib.commons-lang>3.18.0</version.lib.commons-lang>
<version.lib.commons-logging>1.3.5</version.lib.commons-logging>
<version.lib.cron-utils>9.2.1</version.lib.cron-utils>
<version.lib.database.messaging>19.3.0.0</version.lib.database.messaging>
<version.lib.dropwizard.metrics>4.1.36</version.lib.dropwizard.metrics>
<version.lib.eclipselink>4.0.7</version.lib.eclipselink>
<!-- el-impl has been replaced by expressly. But we still manage version to not break existing application poms -->
<version.lib.el-impl>4.0.2</version.lib.el-impl>
<version.lib.expressly>5.0.0</version.lib.expressly>
<version.lib.etcd4j>2.18.0</version.lib.etcd4j>
<version.lib.failsafe>2.3.1</version.lib.failsafe>
<version.lib.google-api-client>2.8.1</version.lib.google-api-client>
<version.lib.google-error-prone-annotations>2.30.0</version.lib.google-error-prone-annotations>
<version.lib.google-protobuf>4.31.1</version.lib.google-protobuf>
<version.lib.graalvm>23.1.0</version.lib.graalvm>
<version.lib.graphql-java>22.1</version.lib.graphql-java>
<version.lib.graphql-java.extended.scalars>22.0</version.lib.graphql-java.extended.scalars>
<version.lib.gson>2.13.2</version.lib.gson>
<version.lib.grpc>1.73.0</version.lib.grpc>
<version.lib.google-findbugs-jsr305>3.0.2</version.lib.google-findbugs-jsr305>
<version.lib.guava>33.3.1-jre</version.lib.guava>
<version.lib.h2>2.4.240</version.lib.h2>
<version.lib.hamcrest>1.3</version.lib.hamcrest>
<version.lib.handlebars>4.4.0</version.lib.handlebars>
<version.lib.hibernate.family>6.3</version.lib.hibernate.family>
<version.lib.hibernate>${version.lib.hibernate.family}.1.Final</version.lib.hibernate>
<version.lib.hibernate-validator>8.0.2.Final</version.lib.hibernate-validator>
<version.lib.hikaricp>5.0.1</version.lib.hikaricp>
<version.lib.hystrix>1.5.18</version.lib.hystrix>
<version.lib.jackson>2.21.1</version.lib.jackson>
<version.lib.jakarta.activation-api>2.1.3</version.lib.jakarta.activation-api>
<version.lib.jakarta.annotation-api>2.1.1</version.lib.jakarta.annotation-api>
<version.lib.jakarta.cdi-api>4.0.1</version.lib.jakarta.cdi-api>
<version.lib.jakarta.el-api>5.0.1</version.lib.jakarta.el-api>
<version.lib.jakarta.inject>2.0.1</version.lib.jakarta.inject>
<version.lib.jakarta.interceptor-api>2.1.0</version.lib.jakarta.interceptor-api>
<version.lib.jakarta.jaxrs-api>3.1.0</version.lib.jakarta.jaxrs-api>
<version.lib.jakarta.jms-api>3.1.0</version.lib.jakarta.jms-api>
<version.lib.jakarta.jsonb-api>3.0.1</version.lib.jakarta.jsonb-api>
<version.lib.jakarta.jsonb-tck>3.0.0</version.lib.jakarta.jsonb-tck>
<version.lib.jakarta.jsonp-api>2.1.3</version.lib.jakarta.jsonp-api>
<version.lib.jakarta.persistence-api>3.1.0</version.lib.jakarta.persistence-api>
<version.lib.jakarta.transaction-api>2.0.1</version.lib.jakarta.transaction-api>
<version.lib.jakarta.validation-api>3.0.2</version.lib.jakarta.validation-api>
<version.lib.jakarta.websockets-api>2.1.1</version.lib.jakarta.websockets-api>
<!-- Check Hibernate when upgrading to ensure its supplied jaxb-runtime is compatible. -->
<version.lib.jakarta.xml.bind-api>4.0.2</version.lib.jakarta.xml.bind-api>
<version.lib.jandex>3.3.0</version.lib.jandex>
<version.lib.javassist>3.30.2-GA</version.lib.javassist>
<version.lib.jaxb-core>4.0.5</version.lib.jaxb-core>
<version.lib.jaxb-impl>4.0.5</version.lib.jaxb-impl>
<version.lib.jboss.classfilewriter>1.3.1.Final</version.lib.jboss.classfilewriter>
<version.lib.jboss.logging>3.5.3.Final</version.lib.jboss.logging>
<version.lib.jaxb-runtime>4.0.5</version.lib.jaxb-runtime>
<version.lib.jersey>3.1.11</version.lib.jersey>
<!-- Jetbrains annotations: dependency convergence requirement, we never use this directly -->
<version.lib.jetbrains.annotations>17.0.0</version.lib.jetbrains.annotations>
<version.lib.jgit>7.3.0.202506031305-r</version.lib.jgit>
<version.lib.junit>5.12.2</version.lib.junit>
<version.lib.kafka>3.9.2</version.lib.kafka>
<!-- Kotlin: dependency convergence requirement, we never use this directly -->
<version.lib.kotlin>1.9.10</version.lib.kotlin>
<version.lib.langchain4j>1.12.1</version.lib.langchain4j>
<version.lib.langchain4j-community>1.12.1-beta21</version.lib.langchain4j-community>
<version.lib.log4j>2.25.3</version.lib.log4j>
<version.lib.mariadb-java-client>2.6.2</version.lib.mariadb-java-client>
<version.lib.maven-wagon>2.10</version.lib.maven-wagon>
<version.lib.micrometer>1.15.2</version.lib.micrometer>
<version.lib.micrometer-prometheus>1.15.2</version.lib.micrometer-prometheus>
<version.lib.micronaut>4.10.9</version.lib.micronaut>
<version.lib.micronaut.validation>4.12.0</version.lib.micronaut.validation>
<version.lib.micronaut.data>4.4.1</version.lib.micronaut.data>
<version.lib.micronaut.sql>5.4.0</version.lib.micronaut.sql>
<version.lib.microprofile-config>3.1</version.lib.microprofile-config>
<!-- FIXME upgrade to 4.1 when it is released in Maven -->
<version.lib.microprofile-fault-tolerance-api>4.0.2</version.lib.microprofile-fault-tolerance-api>
<version.lib.microprofile-graphql>2.0</version.lib.microprofile-graphql>
<version.lib.microprofile-health>4.0.1</version.lib.microprofile-health>
<version.lib.microprofile-jwt>2.1</version.lib.microprofile-jwt>
<version.lib.microprofile-metrics-api>5.1.2</version.lib.microprofile-metrics-api>
<version.lib.microprofile-openapi-api>3.1.2</version.lib.microprofile-openapi-api>
<version.lib.microprofile-reactive-messaging-api>3.0.1</version.lib.microprofile-reactive-messaging-api>
<version.lib.microprofile-reactive-streams-operators-api>3.0.1</version.lib.microprofile-reactive-streams-operators-api>
<version.lib.microprofile-reactive-streams-operators-core>3.0.1</version.lib.microprofile-reactive-streams-operators-core>
<version.lib.microprofile-rest-client>3.0.1</version.lib.microprofile-rest-client>
<version.lib.microprofile-telemetry-tck>1.1</version.lib.microprofile-telemetry-tck>
<version.lib.microprofile-tracing>3.0</version.lib.microprofile-tracing>
<version.lib.microprofile-lra-api>2.0.1</version.lib.microprofile-lra-api>
<version.lib.microstream>08.01.01-MS-GA</version.lib.microstream>
<version.lib.mongodb>4.10.2</version.lib.mongodb>
<version.lib.mssql-jdbc>8.4.1.jre8</version.lib.mssql-jdbc>
<version.lib.mysql-connector-j>8.2.0</version.lib.mysql-connector-j>
<version.lib.narayana>7.1.0.Final</version.lib.narayana>
<version.lib.neo4j>5.28.3</version.lib.neo4j>
<version.lib.netty>4.1.132.Final</version.lib.netty>
<version.lib.oci>3.78.1</version.lib.oci>
<version.lib.ojdbc.family>23</version.lib.ojdbc.family>
<version.lib.ojdbc>${version.lib.ojdbc.family}.26.1.0.0</version.lib.ojdbc>
<version.lib.ojdbc8>${version.lib.ojdbc}</version.lib.ojdbc8>
<!-- Force upgrade of okio for dependency convergence: make the OTel otlp exporter use the release langchain4j uses -->
<version.lib.okio>3.6.0</version.lib.okio>
<!-- Force upgrade okhttp3 for dependency convergence -->
<version.lib.okhttp3>4.12.0</version.lib.okhttp3>
<version.lib.opentelemetry.semconv>1.37.0</version.lib.opentelemetry.semconv>
<version.lib.opentelemetry-sdk-extension-autoconfigure>1.58.0</version.lib.opentelemetry-sdk-extension-autoconfigure>
<version.lib.opentelemetry.opentracing.shim>1.58.0</version.lib.opentelemetry.opentracing.shim>
<version.lib.opentelemetry>1.58.0</version.lib.opentelemetry>
<version.lib.opentelemetry.instrumentation.annotations>2.24.0</version.lib.opentelemetry.instrumentation.annotations>
<version.lib.opentracing>0.33.0</version.lib.opentracing>
<version.lib.opentracing.grpc>0.2.1</version.lib.opentracing.grpc>
<version.lib.opentracing.tracerresolver>0.1.8</version.lib.opentracing.tracerresolver>
<version.lib.perfmark-api>0.25.0</version.lib.perfmark-api>
<version.lib.parsson>1.1.7</version.lib.parsson>
<version.lib.postgresql>42.7.2</version.lib.postgresql>
<version.lib.prometheus>0.16.0</version.lib.prometheus>
<version.lib.reactivestreams>1.0.4</version.lib.reactivestreams>
<version.lib.slf4j>2.0.17</version.lib.slf4j>
<version.lib.smallrye-openapi>3.3.4</version.lib.smallrye-openapi>
<version.lib.snakeyaml>2.5</version.lib.snakeyaml>
<version.lib.testcontainers>1.21.4</version.lib.testcontainers>
<version.lib.typesafe-config>1.4.4</version.lib.typesafe-config>
<version.lib.tyrus>2.1.5</version.lib.tyrus>
<version.lib.weld-api>5.0.SP3</version.lib.weld-api>
<version.lib.weld>5.1.6.Final</version.lib.weld>
<version.lib.yasson>3.0.4</version.lib.yasson>
<version.lib.zipkin.sender-urlconnection>2.16.4</version.lib.zipkin.sender-urlconnection>
<version.lib.zipkin>2.12.5</version.lib.zipkin>
<version.lib.zookeeper>3.5.7</version.lib.zookeeper>
<version.lib.crac>1.5.0</version.lib.crac>
</properties>
<dependencyManagement>
<!--
IMPORTANT! These dependencies are organized into four sections. When adding
or updating a dependency please place it in the correction section:
Section 1: Direct third party dependencies of the Helidon toolkit. These are
dependencies used directly by the Helidon implementation (not
examples, not tests) and can be runtime dependencies of a Helidon
application.
Section 2: Direct third party dependencies that are used by examples (beyond those
in Section 1). Might also be used in tests.
Section 3: Transitive dependencies (or fourth party dependencies) that we
need to manage the version of for convergence or forced upgrade.
Nothing in Helidon depends on these APIs directly.
Section 4: Dependencies used for testing only. It's preferable that these are
in the Helidon root project pom, but sometimes they need to be here.
Importing of BOMs should always be at the end since we want more specific
dependencies to override them.
-->
<dependencies>
<!-- Section 0: dependencies to be removed, workaround -->
<!-- 3.0.0-JAKARTA -->
<dependency>
<!-- needed for grpc, as generated code contains java.annotation.Generated -->
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<!-- needed for MP LRA, not yet ready for jakarta packages-->
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<!-- Section 1: direct third party dependencies -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>${version.lib.jersey}</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>jakarta.inject</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-jaxb</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${version.lib.jersey}</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>jakarta.inject</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>${version.lib.jersey}</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>jakarta.inject</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.opentelemetry.semconv</groupId>
<artifactId>opentelemetry-semconv</artifactId>
<version>${version.lib.opentelemetry.semconv}</version>
</dependency>
<!--
By default, OpenTelemetry's OTLP exporter uses okhttp. To reduce 3rd-party dependencies and more easily
manage dependency convergence use the OpenTelemetry JDK client support instead.
-->
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-otlp</artifactId>
<version>${version.lib.opentelemetry}</version>
<exclusions>
<exclusion>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-sender-okhttp</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- -->
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-util</artifactId>
<version>${version.lib.opentracing}</version>
<exclusions>
<exclusion>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-instrumentation-annotations</artifactId>
<version>${version.lib.opentelemetry.instrumentation.annotations}</version>
</dependency>
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-instrumentation-api</artifactId>
<version>${version.lib.opentelemetry}</version>
</dependency>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-api</artifactId>
<version>${version.lib.opentracing}</version>
</dependency>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-noop</artifactId>
<version>${version.lib.opentracing}</version>
</dependency>
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-tracerresolver</artifactId>
<version>${version.lib.opentracing.tracerresolver}</version>
</dependency>
<!--
"Jakarta XML Binding API". (See
https://github.com/jakartaee/jaxb-api/blob/d8a68e76a5391cb2462f540c9e4c5c81d0a91942/jaxb-api/pom.xml#L23-L25)
-->
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>${version.lib.jakarta.xml.bind-api}</version>
</dependency>
<!--
"Old JAXB Core". (See
https://github.com/eclipse-ee4j/jaxb-ri/blob/1120e83b8bac6dfd1636e19269a36a8ccaad94e4/jaxb-ri/bundles/core/pom.xml#L25-L30.)
-->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${version.lib.jaxb-core}</version>
</dependency>
<!--
"Old JAXB Runtime". (See
https://github.com/eclipse-ee4j/jaxb-ri/blob/1120e83b8bac6dfd1636e19269a36a8ccaad94e4/jaxb-ri/bundles/runtime/pom.xml#L25-L30.)
-->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${version.lib.jaxb-impl}</version>
</dependency>
<!--
"JAXB Runtime"/"JAXB (JSR 222) Reference Implementation". (See
https://github.com/eclipse-ee4j/jaxb-ri/blob/1120e83b8bac6dfd1636e19269a36a8ccaad94e4/jaxb-ri/runtime/impl/pom.xml#L25-L30.)
-->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>${version.lib.jaxb-runtime}</version>
</dependency>
<dependency>
<!-- contains the API as well -->
<!-- Has been replaced by expressly. We manage version to not break existing application poms -->
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<version>${version.lib.el-impl}</version>
</dependency>
<dependency>
<!-- Jakarta EL implementation -->
<groupId>org.glassfish.expressly</groupId>
<artifactId>expressly</artifactId>
<version>${version.lib.expressly}</version>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>${version.lib.jakarta.jaxrs-api}</version>
</dependency>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>${version.lib.jakarta.cdi-api}</version>
</dependency>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.lang-model</artifactId>
<version>${version.lib.jakarta.cdi-api}</version>
</dependency>
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>${version.lib.jakarta.el-api}</version>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>${version.lib.jakarta.annotation-api}</version>
</dependency>
<dependency>
<groupId>jakarta.interceptor</groupId>
<artifactId>jakarta.interceptor-api</artifactId>
<version>${version.lib.jakarta.interceptor-api}</version>
<exclusions>
<!-- Exclude EJB. See https://github.com/eclipse-ee4j/interceptor-api/issues/31 -->
<exclusion>
<groupId>jakarta.ejb</groupId>
<artifactId>jakarta.ejb-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.inject</groupId>
<artifactId>jakarta.inject-api</artifactId>
<version>${version.lib.jakarta.inject}</version>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>${version.lib.jakarta.jsonp-api}</version>
</dependency>
<dependency>
<groupId>jakarta.json.bind</groupId>
<artifactId>jakarta.json.bind-api</artifactId>
<version>${version.lib.jakarta.jsonb-api}</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>${version.lib.jakarta.activation-api}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
<version>${version.lib.jgit}</version>
</dependency>
<dependency>
<groupId>jakarta.jms</groupId>
<artifactId>jakarta.jms-api</artifactId>
<version>${version.lib.jakarta.jms-api}</version>
</dependency>
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
<version>${version.lib.parsson}</version>
</dependency>
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson-media</artifactId>
<version>${version.lib.parsson}</version>
</dependency>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>yasson</artifactId>
<version>${version.lib.yasson}</version>
</dependency>
<dependency>
<groupId>com.github.jknack</groupId>
<artifactId>handlebars</artifactId>
<version>${version.lib.handlebars}</version>
</dependency>
<!-- Config related -->
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>${version.lib.typesafe-config}</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${version.lib.snakeyaml}</version>
</dependency>
<dependency>
<groupId>org.mousio</groupId>
<artifactId>etcd4j</artifactId>
<version>${version.lib.etcd4j}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${version.lib.gson}</version>
</dependency>
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-grpc</artifactId>
<version>${version.lib.opentracing.grpc}</version>
</dependency>
<!-- Webserver related -->
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient</artifactId>
<version>${version.lib.prometheus}</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_common</artifactId>
<version>${version.lib.prometheus}</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_tracer_common</artifactId>
<version>${version.lib.prometheus}</version>
</dependency>
<dependency>
<groupId>io.zipkin.zipkin2</groupId>
<artifactId>zipkin</artifactId>
<version>${version.lib.zipkin}</version>
</dependency>
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-sender-urlconnection</artifactId>
<version>${version.lib.zipkin.sender-urlconnection}</version>
</dependency>
<dependency>
<groupId>io.opentracing.brave</groupId>
<artifactId>brave-opentracing</artifactId>
<version>${version.lib.brave-opentracing}</version>
<exclusions>
<exclusion>
<!-- failure in dependency convergence -->
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter</artifactId>
</exclusion>
<exclusion>
<groupId>io.zipkin.brave</groupId>
<artifactId>brave-tests</artifactId>
</exclusion>
<exclusion>
<groupId>io.zipkin.zipkin2</groupId>
<artifactId>zipkin</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${version.lib.bytebuddy}</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${version.lib.javassist}</version>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
<version>${version.lib.antlr}</version>
</dependency>
<dependency>
<groupId>jakarta.websocket</groupId>
<artifactId>jakarta.websocket-api</artifactId>
<version>${version.lib.jakarta.websockets-api}</version>
</dependency>
<dependency>
<groupId>jakarta.websocket</groupId>
<artifactId>jakarta.websocket-client-api</artifactId>
<version>${version.lib.jakarta.websockets-api}</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-core</artifactId>
<version>${version.lib.tyrus}</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-client</artifactId>
<version>${version.lib.tyrus}</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-container-jdk-client</artifactId>
<version>${version.lib.tyrus}</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-server</artifactId>
<version>${version.lib.tyrus}</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.tyrus</groupId>
<artifactId>tyrus-container-grizzly-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Security related -->
<dependency>
<!-- Google APIs -->
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>${version.lib.google-api-client}</version>
<exclusions>
<exclusion>
<!-- should be optional -->
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- DB Client related -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>${version.lib.mongodb}</version>
</dependency>
<dependency>
<groupId>com.oracle.database.messaging</groupId>
<artifactId>aqapi</artifactId>
<version>${version.lib.database.messaging}</version>
</dependency>
<!-- Micrometer related -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<version>${version.lib.micrometer}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>${version.lib.micrometer-prometheus}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus-simpleclient</artifactId>
<version>${version.lib.micrometer-prometheus}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-otlp</artifactId>
<version>${version.lib.micrometer}</version>
</dependency>
<!-- Microprofile related -->
<dependency>
<groupId>org.eclipse.microprofile.config</groupId>
<artifactId>microprofile-config-api</artifactId>
<version>${version.lib.microprofile-config}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.health</groupId>
<artifactId>microprofile-health-api</artifactId>
<version>${version.lib.microprofile-health}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.graphql</groupId>
<artifactId>microprofile-graphql-api</artifactId>
<version>${version.lib.microprofile-graphql}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.jwt</groupId>
<artifactId>microprofile-jwt-auth-api</artifactId>
<version>${version.lib.microprofile-jwt}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.fault-tolerance</groupId>
<artifactId>microprofile-fault-tolerance-api</artifactId>
<version>${version.lib.microprofile-fault-tolerance-api}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.opentracing</groupId>
<artifactId>microprofile-opentracing-api</artifactId>
<version>${version.lib.microprofile-tracing}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.rest.client</groupId>
<artifactId>microprofile-rest-client-api</artifactId>
<version>${version.lib.microprofile-rest-client}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
<exclusion>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.openapi</groupId>
<artifactId>microprofile-openapi-api</artifactId>
<version>${version.lib.microprofile-openapi-api}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.metrics</groupId>
<artifactId>microprofile-metrics-api</artifactId>
<version>${version.lib.microprofile-metrics-api}</version>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.annotation.versioning</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.reactive-streams-operators</groupId>
<artifactId>microprofile-reactive-streams-operators-api</artifactId>
<version>${version.lib.microprofile-reactive-streams-operators-api}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.reactive-streams-operators</groupId>
<artifactId>microprofile-reactive-streams-operators-core</artifactId>
<version>${version.lib.microprofile-reactive-streams-operators-core}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.reactive.messaging</groupId>
<artifactId>microprofile-reactive-messaging-api</artifactId>
<version>${version.lib.microprofile-reactive-messaging-api}</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.microprofile.reactive-streams-operators</groupId>
<artifactId>microprofile-reactive-streams-operators-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.microprofile.reactive-streams-operators</groupId>
<artifactId>microprofile-reactive-streams-operators-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.lra</groupId>
<artifactId>microprofile-lra-api</artifactId>
<version>${version.lib.microprofile-lra-api}</version>
</dependency>
<dependency>
<groupId>io.smallrye</groupId>
<artifactId>jandex</artifactId>
<version>${version.lib.jandex}</version>
</dependency>
<dependency>
<groupId>io.smallrye</groupId>
<artifactId>smallrye-open-api-core</artifactId>
<version>${version.lib.smallrye-openapi}</version>
</dependency>
<dependency>
<groupId>io.smallrye</groupId>
<artifactId>smallrye-open-api-jaxrs</artifactId>
<version>${version.lib.smallrye-openapi}</version>
</dependency>
<dependency>
<groupId>io.smallrye</groupId>
<artifactId>smallrye-open-api-ui</artifactId>
<version>${version.lib.smallrye-openapi}</version>
</dependency>
<!-- Microstream related -->
<dependency>
<groupId>one.microstream</groupId>
<artifactId>microstream-storage-embedded</artifactId>
<version>${version.lib.microstream}</version>
</dependency>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>microstream-storage-embedded-configuration</artifactId>
<version>${version.lib.microstream}</version>
</dependency>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>microstream-configuration</artifactId>
<version>${version.lib.microstream}</version>
</dependency>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>microstream-cache</artifactId>
<version>${version.lib.microstream}</version>
</dependency>
<dependency>
<groupId>one.microstream</groupId>
<artifactId>microstream-persistence-binary-jdk17</artifactId>
<version>${version.lib.microstream}</version>
</dependency>
<!-- Integrations related -->
<dependency>
<groupId>jakarta.persistence</groupId>
<artifactId>jakarta.persistence-api</artifactId>
<version>${version.lib.jakarta.persistence-api}</version>
</dependency>
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
<version>${version.lib.jakarta.transaction-api}</version>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>${version.lib.jakarta.validation-api}</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${version.lib.h2}</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${version.lib.mysql-connector-j}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${version.lib.postgresql}</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>${version.lib.hikaricp}</version>
</dependency>
<dependency>
<!-- used by Hikari CP to add metrics -->
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${version.lib.dropwizard.metrics}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core</artifactId>
<version>${version.lib.eclipselink}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>${version.lib.eclipselink}</version>
</dependency>
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${version.lib.hibernate}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator-cdi</artifactId>
<version>${version.lib.hibernate-validator}</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${version.lib.hibernate-validator}</version>
</dependency>
<dependency>
<groupId>org.jboss.narayana.jta</groupId>
<artifactId>narayana-jta</artifactId>
<version>${version.lib.narayana}</version>
</dependency>
<dependency>
<groupId>org.jboss.narayana.jta</groupId>
<artifactId>cdi</artifactId>
<version>${version.lib.narayana}</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-api</artifactId>
<version>${version.lib.weld-api}</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core-impl</artifactId>
<version>${version.lib.weld}</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-spi</artifactId>
<version>${version.lib.weld-api}</version>
</dependency>
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-lite-extension-translator</artifactId>
<version>${version.lib.weld}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.weld.module</groupId>
<artifactId>weld-jta</artifactId>
<version>${version.lib.weld}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.3_spec</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-core-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.weld.environment</groupId>
<artifactId>weld-environment-common</artifactId>
<version>${version.lib.weld}</version>
</dependency>
<dependency>
<groupId>org.jboss.classfilewriter</groupId>
<artifactId>jboss-classfilewriter</artifactId>
<version>${version.lib.jboss.classfilewriter}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>${version.lib.jboss.logging}</version>
</dependency>
<dependency>
<groupId>org.graalvm.sdk</groupId>
<artifactId>nativeimage</artifactId>
<version>${version.lib.graalvm}</version>
</dependency>
<dependency>
<groupId>org.graalvm.nativeimage</groupId>
<artifactId>svm</artifactId>
<version>${version.lib.graalvm}</version>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-java</artifactId>
<version>${version.lib.graphql-java}</version>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-java-extended-scalars</artifactId>
<version>${version.lib.graphql-java.extended.scalars}</version>
<exclusions>
<exclusion>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</exclusion>
<exclusion>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Kafka support -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${version.lib.kafka}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${version.lib.kotlin}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-common</artifactId>
<version>${version.lib.kotlin}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${version.lib.kotlin}</version>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>${version.lib.jetbrains.annotations}</version>
</dependency>
<!-- Jersey -->
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-binding</artifactId>
<version>${version.lib.jersey}</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>jakarta.inject</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext.microprofile</groupId>
<artifactId>jersey-mp-rest-client</artifactId>
<version>${version.lib.jersey}</version>
<exclusions>
<!-- most of these libraries are either bad (javax*), or we need additional exclusions on them -->
<exclusion>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-binding</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.jersey.ext.cdi</groupId>
<artifactId>jersey-cdi1x</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish</groupId>
<artifactId>jsonp-jaxrs</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.microprofile.config</groupId>
<artifactId>microprofile-config-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.interceptor</groupId>
<artifactId>javax.interceptor-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>jakarta.inject</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Micronaut integrations -->
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject-java</artifactId>
<version>${version.lib.micronaut}</version>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject</artifactId>
<version>${version.lib.micronaut}</version>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-core</artifactId>
<version>${version.lib.micronaut}</version>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-aop</artifactId>
<version>${version.lib.micronaut}</version>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-core-processor</artifactId>
<version>${version.lib.micronaut}</version>
</dependency>
<!-- Neo4j -->
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>${version.lib.neo4j}</version>
</dependency>
<!-- Cron utils -->
<dependency>
<groupId>com.cronutils</groupId>
<artifactId>cron-utils</artifactId>
<version>${version.lib.cron-utils}</version>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<version>${version.lib.reactivestreams}</version>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams-tck</artifactId>
<version>${version.lib.reactivestreams}</version>
</dependency>
<dependency>
<groupId>org.crac</groupId>
<artifactId>crac</artifactId>
<version>${version.lib.crac}</version>
</dependency>
<!-- END OF Section 1: direct third party dependencies -->
<!-- Section 2: third party dependencies used by examples -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>${version.lib.activemq}</version>
</dependency>
<dependency>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation</artifactId>
<version>${version.lib.micronaut.validation}</version>
</dependency>
<dependency>
<groupId>io.micronaut.validation</groupId>
<artifactId>micronaut-validation-processor</artifactId>
<version>${version.lib.micronaut.validation}</version>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-runtime</artifactId>
<version>${version.lib.micronaut}</version>
</dependency>
<dependency>
<groupId>io.micronaut.sql</groupId>
<artifactId>micronaut-jdbc-hikari</artifactId>
<version>${version.lib.micronaut.sql}</version>
</dependency>
<dependency>
<groupId>io.micronaut.sql</groupId>
<artifactId>micronaut-jdbc-ucp</artifactId>
<version>${version.lib.micronaut.sql}</version>
</dependency>
<dependency>
<groupId>io.micronaut.sql</groupId>
<artifactId>micronaut-jdbc</artifactId>
<version>${version.lib.micronaut.sql}</version>
</dependency>
<dependency>
<groupId>io.micronaut.data</groupId>
<artifactId>micronaut-data-tx</artifactId>
<version>${version.lib.micronaut.data}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.micronaut.data</groupId>
<artifactId>micronaut-data-jdbc</artifactId>
<version>${version.lib.micronaut.data}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.micronaut.data</groupId>
<artifactId>micronaut-data-processor</artifactId>
<version>${version.lib.micronaut.data}</version>
</dependency>
<!-- END OF Section 2: third party dependencies used by examples -->
<!-- Section 3: transitive dependencies we manage the version of for convergence/upgrade -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${version.lib.guava}</version>
</dependency>
<dependency>
<!-- if needed (as excluded from weld) -->
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${version.lib.groovy-all}</version>
</dependency>
<dependency>
<!-- Required for dependency convergence google-api-client -->
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${version.lib.commons-logging}</version>
</dependency>
<dependency>
<!-- Required for dependency convergence google-api-client -->
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${version.lib.commons-codec}</version>
</dependency>
<dependency>
<!-- Force upgrade -->
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${version.lib.commons-compress}</version>
</dependency>
<dependency>
<!-- Force upgrade -->
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${version.lib.commons-lang}</version>
</dependency>
<dependency>
<!-- version managed to align with commons-compress version above -->
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${version.lib.commons-io}</version>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-http</artifactId>
<version>${version.lib.micronaut}</version>
</dependency>
<dependency>
<groupId>io.micronaut.data</groupId>
<artifactId>micronaut-data-model</artifactId>
<version>${version.lib.micronaut.data}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.micronaut.data</groupId>
<artifactId>micronaut-data-runtime</artifactId>
<version>${version.lib.micronaut.data}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- Force upgrade okhttp3 for dependency convergence -->
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${version.lib.okhttp3}</version>
</dependency>
<dependency>
<!-- For dependency convergence -->
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>${version.lib.okio}</version>
</dependency>
<dependency>
<!-- For dependency convergence -->
<groupId>com.squareup.okio</groupId>
<artifactId>okio-jvm</artifactId>
<version>${version.lib.okio}</version>
</dependency>
<!-- For dependency convergence -->
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>${version.lib.google-error-prone-annotations}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${version.lib.google-findbugs-jsr305}</version>
</dependency>
<!-- END OF Section 3: transitive dependencies we manage the version of for convergence/upgrade -->
<!-- Section 4: Testing -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${version.lib.hamcrest}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>${version.lib.hamcrest}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${version.lib.testcontainers}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>${version.lib.testcontainers}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mongodb</artifactId>
<version>${version.lib.testcontainers}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>${version.lib.testcontainers}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>jdbc</artifactId>
<version>${version.lib.testcontainers}</version>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>oracle-xe</artifactId>
<version>${version.lib.testcontainers}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-kahadb-store</artifactId>
<version>${version.lib.activemq}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.graphql</groupId>
<artifactId>microprofile-graphql-tck</artifactId>
<version>${version.lib.microprofile-graphql}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.metrics</groupId>
<artifactId>microprofile-metrics-rest-tck</artifactId>
<version>${version.lib.microprofile-metrics-api}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.metrics</groupId>
<artifactId>microprofile-metrics-optional-tck</artifactId>
<version>${version.lib.microprofile-metrics-api}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.metrics</groupId>
<artifactId>microprofile-metrics-api-tck</artifactId>
<version>${version.lib.microprofile-metrics-api}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.lra</groupId>
<artifactId>microprofile-lra-tck</artifactId>
<version>${version.lib.microprofile-lra-api}</version>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.telemetry.tracing</groupId>
<artifactId>microprofile-telemetry-tracing-tck</artifactId>
<version>${version.lib.microprofile-telemetry-tck}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${version.lib.slf4j}</version>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>${version.lib.mariadb-java-client}</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>${version.lib.mssql-jdbc}</version>
</dependency>
<!-- END OF Section 4: Testing -->
<!-- imported boms -->
<dependency>
<groupId>com.oracle.coherence.ce</groupId>
<artifactId>coherence-bom</artifactId>
<version>${version.lib.coherence}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Force upgrade. Used by grpc -->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-bom</artifactId>
<version>${version.lib.google-protobuf}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- For dependency convergence of transitive deps on netty -->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${version.lib.netty}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-bom</artifactId>
<version>${version.lib.grpc}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-api</artifactId>
<version>${version.lib.grpc}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>${version.lib.grpc}</version>
<exclusions>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc-bom</artifactId>
<version>${version.lib.ojdbc}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${version.lib.jersey}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${version.lib.jackson}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-bom</artifactId>
<version>${version.lib.opentelemetry}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.oracle.oci.sdk</groupId>
<artifactId>oci-java-sdk-bom</artifactId>
<version>${version.lib.oci}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${version.lib.log4j}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-bom</artifactId>
<version>${version.lib.slf4j}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${version.lib.junit}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- Langchain4j integration -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bom</artifactId>
<version>${version.lib.langchain4j}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-bom</artifactId>
<version>${version.lib.langchain4j-community}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>