diff --git a/pom.xml b/pom.xml index a45e243784af05f7263d951cc124a4643c65c8f1..b15adc3f5a19d9253315dc20842fe7a843e4fbaf 100644 --- a/pom.xml +++ b/pom.xml @@ -28,8 +28,11 @@ <spring-boot.build-image.imageName>docker.ozg-sh.de/ozg-operator:build-latest</spring-boot.build-image.imageName> <mapstruct.version>1.5.5.Final</mapstruct.version> - <keycloak-adapter.version>18.0.0</keycloak-adapter.version> + <keycloak-adapter.version>20.0.5</keycloak-adapter.version> + <resteasy-legacy.version>6.2.4.Final</resteasy-legacy.version> + <resteasy.version>6.2.4.Final</resteasy.version> + <resteasy.undertow.version>${resteasy.version}</resteasy.undertow.version> </properties> <dependencies> <dependency> @@ -40,19 +43,100 @@ <groupId>org.keycloak</groupId> <artifactId>keycloak-admin-client</artifactId> <version>${keycloak-adapter.version}</version> + <exclusions> + <exclusion> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-client</artifactId> + </exclusion> + <exclusion> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-multipart-provider</artifactId> + </exclusion> + <exclusion> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-jackson2-provider</artifactId> + </exclusion> + <exclusion> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-jaxb-provider</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${mapstruct.version}</version> </dependency> - - + <dependency> <groupId>io.javaoperatorsdk</groupId> <artifactId>operator-framework-spring-boot-starter</artifactId> <version>${operator-sdk.version}</version> </dependency> + + <!-- start https://github.com/keycloak/keycloak/blob/main/pom.xml --> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-core</artifactId> + <version>${resteasy.version}</version> + <exclusions> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-multipart-provider</artifactId> + <version>${resteasy.version}</version> + </dependency> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-jackson2-provider</artifactId> + <version>${resteasy.version}</version> + </dependency> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-jaxb-provider</artifactId> + <version>${resteasy.version}</version> + </dependency> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-client</artifactId> + <version>${resteasy.version}</version> + </dependency> + <dependency> + <groupId>org.jboss.resteasy</groupId> + <artifactId>resteasy-undertow</artifactId> + <version>${resteasy.undertow.version}</version> + <exclusions> + <exclusion> + <groupId>io.undertow</groupId> + <artifactId>undertow-servlet</artifactId> + </exclusion> + <exclusion> + <groupId>io.undertow</groupId> + <artifactId>undertow-core</artifactId> + </exclusion> + </exclusions> + </dependency> + <!-- ende https://github.com/keycloak/keycloak/blob/main/pom.xml --> + + +<!-- <dependency>--> +<!-- <groupId>io.javaoperatorsdk</groupId>--> +<!-- <artifactId>operator-framework-spring-boot-starter</artifactId>--> +<!-- <version>${operator-sdk.version}</version>--> +<!-- </dependency>--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> diff --git a/src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java b/src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java index e050ad3a2925754a1d1ccd7a372701b26065d1bb..d737c4162cc470efc17a289ef2ccd39e3774c7df 100644 --- a/src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java +++ b/src/main/java/de/ozgcloud/operator/SpringNativeConfiguration.java @@ -5,6 +5,7 @@ import java.util.Objects; import java.util.concurrent.ExecutorService; import java.util.concurrent.ThreadPoolExecutor; +import org.keycloak.admin.client.Keycloak; import org.reflections.Reflections; import org.springframework.aot.hint.MemberCategory; import org.springframework.aot.hint.RuntimeHints; @@ -50,6 +51,15 @@ public class SpringNativeConfiguration { combined.add(KeycloakUserSpec.KeycloakUserSpecUserGroup.class); combined.add(KeycloakUserStatus.class); + combined.add(Keycloak.class); + combined.add(org.keycloak.admin.client.spi.ResteasyClientClassicProvider.class); + combined.add(org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.class); + combined.addAll(subtypesOfKubernetesResource); + + combined.add(org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.class); + combined.addAll(reflections.getSubTypesOf(org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.class)); + combined.add(org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl.class); + combined.add(org.keycloak.admin.client.Keycloak.class); try {