gitlab4j-api
gitlab4j-api copied to clipboard
6.0.0-rc.2 ClassNotFoundException: jakarta.inject.Singleton
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)
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.
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