gitlab4j-api icon indicating copy to clipboard operation
gitlab4j-api copied to clipboard

6.0.0-rc.2 ClassNotFoundException: jakarta.inject.Singleton

Open kpa23 opened this issue 2 years ago • 2 comments
trafficstars

Trying spring boot 3. Tried Open JDK 17.0.2 and 20.0.1 I have error on "CentOS Linux 7 (Core)". Works fine(no errors) on both windows and Docker openjdk:17-jdk-alpine.

2023-07-16 00:42:37 [http-nio-8080-exec-1] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed: java.lang.NoClassDefFoundError: jakarta/inject/Singleton] with root cause java.lang.ClassNotFoundException: jakarta.inject.Singleton at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.glassfish.jersey.model.ContractProvider$Builder.(ContractProvider.java:67) at org.glassfish.jersey.model.ContractProvider.builder(ContractProvider.java:49) at org.glassfish.jersey.model.internal.ComponentBag.modelFor(ComponentBag.java:522) at org.glassfish.jersey.model.internal.ComponentBag.lambda$registerModel$10(ComponentBag.java:454) at org.glassfish.jersey.internal.Errors.process(Errors.java:292) at org.glassfish.jersey.internal.Errors.process(Errors.java:274) at org.glassfish.jersey.internal.Errors.process(Errors.java:205) at org.glassfish.jersey.model.internal.ComponentBag.registerModel(ComponentBag.java:446) at org.glassfish.jersey.model.internal.ComponentBag.register(ComponentBag.java:283) at org.glassfish.jersey.model.internal.CommonConfig.register(CommonConfig.java:417) at org.glassfish.jersey.client.ClientConfig$State.register(ClientConfig.java:216) at org.glassfish.jersey.client.ClientConfig.register(ClientConfig.java:612) at org.gitlab4j.api.GitLabApiClient.(GitLabApiClient.java:247) at org.gitlab4j.api.GitLabApi.(GitLabApi.java:444) at org.gitlab4j.api.GitLabApi.(GitLabApi.java:391) at org.gitlab4j.api.GitLabApi.(GitLabApi.java:330) at org.gitlab4j.api.GitLabApi.(GitLabApi.java:121) at com.tander.egais.jirabrancher.service.git.GitServiceAbstract.getGit(GitServiceAbstract.java:30)

kpa23 avatar Jul 15 '23 21:07 kpa23

Found workaround: added dependency in pom: <dependency> <groupId>jakarta.persistence</groupId> <artifactId>jakarta.persistence-api</artifactId> <version>3.1.0</version> </dependency> and it fixed the bug. But I think there's a problem to solve inside the lib.

kpa23 avatar Jul 16 '23 15:07 kpa23

I do not understand your issue.

jakarta.inject.Singleton is provided by the jar jakarta.inject-api-2.0.1.jar.

And jakarta.inject:jakarta.inject-api:2.0.1 is part of the dependency tree of org.gitlab4j:gitlab4j-api:6.0.0-rc.2

This is the dependency tree computed by Gradle:

runtimeClasspath - Runtime classpath of source set 'main'.
\--- org.gitlab4j:gitlab4j-api:6.0.0-rc.2
     +--- jakarta.activation:jakarta.activation-api:2.1.1
     +--- org.glassfish.jersey.inject:jersey-hk2:3.1.1
     |    +--- org.glassfish.jersey.core:jersey-common:3.1.1
     |    |    +--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0
     |    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1
     |    |    +--- jakarta.inject:jakarta.inject-api:2.0.1
     |    |    \--- org.glassfish.hk2:osgi-resource-locator:1.0.3
     |    +--- org.glassfish.hk2:hk2-locator:3.0.3
     |    |    +--- org.glassfish.hk2.external:aopalliance-repackaged:3.0.3
     |    |    +--- org.glassfish.hk2:hk2-api:3.0.3
     |    |    |    +--- org.glassfish.hk2:hk2-utils:3.0.3
     |    |    |    \--- org.glassfish.hk2.external:aopalliance-repackaged:3.0.3
     |    |    \--- org.glassfish.hk2:hk2-utils:3.0.3
     |    \--- org.javassist:javassist:3.29.0-GA
     +--- org.glassfish.jersey.core:jersey-client:3.1.1
     |    +--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0
     |    +--- org.glassfish.jersey.core:jersey-common:3.1.1 (*)
     |    \--- jakarta.inject:jakarta.inject-api:2.0.1
     +--- org.glassfish.jersey.connectors:jersey-apache-connector:3.1.1
     |    +--- org.apache.httpcomponents:httpclient:4.5.13
     |    |    +--- org.apache.httpcomponents:httpcore:4.4.13
     |    |    \--- commons-logging:commons-logging:1.2
     |    +--- org.glassfish.jersey.core:jersey-common:3.1.1 (*)
     |    +--- org.glassfish.jersey.core:jersey-client:3.1.1 (*)
     |    \--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0
     +--- org.glassfish.jersey.media:jersey-media-multipart:3.1.1
     |    +--- org.glassfish.jersey.core:jersey-common:3.1.1 (*)
     |    \--- org.jvnet.mimepull:mimepull:1.9.15
     +--- org.glassfish.jersey.media:jersey-media-json-jackson:3.1.1
     |    +--- org.glassfish.jersey.core:jersey-common:3.1.1 (*)
     |    +--- org.glassfish.jersey.ext:jersey-entity-filtering:3.1.1
     |    |    \--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0
     |    +--- com.fasterxml.jackson.core:jackson-annotations:2.14.1
     |    |    \--- com.fasterxml.jackson:jackson-bom:2.14.1
     |    |         +--- com.fasterxml.jackson.core:jackson-annotations:2.14.1 (c)
     |    |         +--- com.fasterxml.jackson.core:jackson-core:2.14.1 (c)
     |    |         +--- com.fasterxml.jackson.core:jackson-databind:2.14.1 (c)
     |    |         \--- com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.14.1 (c)
     |    +--- com.fasterxml.jackson.core:jackson-databind:2.14.1
     |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.14.1 (*)
     |    |    +--- com.fasterxml.jackson.core:jackson-core:2.14.1
     |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.14.1 (*)
     |    |    \--- com.fasterxml.jackson:jackson-bom:2.14.1 (*)
     |    +--- com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.14.1
     |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.14.1 (*)
     |    |    +--- com.fasterxml.jackson.core:jackson-core:2.14.1 (*)
     |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.14.1 (*)
     |    |    \--- com.fasterxml.jackson:jackson-bom:2.14.1 (*)
     |    \--- jakarta.xml.bind:jakarta.xml.bind-api:4.0.0
     |         \--- jakarta.activation:jakarta.activation-api:2.1.0 -> 2.1.1
     \--- jakarta.servlet:jakarta.servlet-api:6.0.0

jmini avatar Jul 17 '23 14:07 jmini