No Class Def Found with 9.9.1
Issue #418
resolved
Hi,
Since I migrate from 9.9 to 9.9.1, I have a NoClassDefFoundError
10:32:27.876 [ERROR Application ] Unhandled: GET - /api-externe/v1/catalog/legacy/metropole/orange/mobile/devices/6944284642805
<#0b978561> java.lang.NoClassDefFoundError: Could not initialize class com.nimbusds.jose.shaded.json.JSONValue
at com.nimbusds.jose.shaded.json.parser.JSONParserString.parse(JSONParserString.java:39)
at com.nimbusds.jose.shaded.json.parser.JSONParser.parse(JSONParser.java:270)
at com.nimbusds.jose.util.JSONObjectUtils.parse(JSONObjectUtils.java:71)
at com.nimbusds.jwt.JWTParser.parse(JWTParser.java:67)
at com.nimbusds.jwt.proc.DefaultJWTProcessor.process(DefaultJWTProcessor.java:321)
at com.orange.ccmd.katalog.utils.GatApeService$getJWTClaimsSet$claimSet$1.invoke(OAuth2Utilities.kt:41)
at com.orange.ccmd.katalog.utils.GatApeService$getJWTClaimsSet$claimSet$1.invoke(OAuth2Utilities.kt:27)
at com.orange.ccmd.katalog.utils.MeasureTimeUtilitiesKt.measureTimeAndReturn(MeasureTimeUtilities.kt:18)
at com.orange.ccmd.katalog.utils.GatApeService.getJWTClaimsSet(OAuth2Utilities.kt:40)
... 20 frames excluded
at com.orange.ccmd.katalog.utils.opentracing.OpenTracingServer$Feature$install$1$2.invokeSuspend(OpenTracingServer.kt:88)
... 75 frames truncated
10:32:28.174 [WARN JedisFactory ] Error while QUIT
<#9664d93c> redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
at redis.clients.jedis.util.RedisInputStream.ensureFill(RedisInputStream.java:202)
at redis.clients.jedis.util.RedisInputStream.readByte(RedisInputStream.java:43)
at redis.clients.jedis.Protocol.process(Protocol.java:158)
at redis.clients.jedis.Protocol.read(Protocol.java:223)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:352)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:270)
at redis.clients.jedis.BinaryJedis.quit(BinaryJedis.java:472)
at redis.clients.jedis.JedisFactory.destroyObject(JedisFactory.java:160)
at org.apache.commons.pool2.PooledObjectFactory.destroyObject(PooledObjectFactory.java:126)
at org.apache.commons.pool2.impl.GenericObjectPool.destroy(GenericObjectPool.java:958)
... 10 frames truncated
My code calling the Nimbus Lib :
fun getJWTClaimsSet(request: ApplicationRequest): JWTClaimsSet {
val accessToken = request.extractAuthorizationToken()
val claimSet: JWTClaimsSet = try {
val (start, stop, results) = measureTimeAndReturn {
processor.process(accessToken, null)
}
JwtTokenValidationEvent(
start,
stop,
true
).record("Temps de validation du token Jwt reçu dans la requête")
results
} catch (e: Exception) {
logger.warn("Erreur durant la validation d'un token with root cause ${e.cause}. {}", e)
throw UnauthorizedAccessRequestedException("Le token JWT fournit n'est pas valide.")
}
return if (validate(claimSet)) {
val (start, stop, _) = measureTimeAndReturn {
processor.process(accessToken, null)
}
JwtClaimsetValidationProcessEvent(
start,
stop,
true
).record("Temps de validation du claimset issu du token Jwt")
claimSet
} else {
throw(UnauthorizedAccessRequestedException("Les claims du token JWT ne peuvent pas être validés."))
}
}
When I donwgrade to 9.9 I don't have any issue with my code.
Do you think you made some change that could generate this issue ?
Thanks.
Comments (4)
-
-
-
Apparently there are still issues with 9.9.2. When the lib is imported, without the JSON Smart dependency being imported also.
https://bitbucket.org/connect2id/nimbus-jose-jwt/issues/419/99-992-javalangnoclassdeffounderror-org
-
- changed status to resolved
Fixed in 9.9.3
- Log in to comment
I think `net.minidev:accessors-smart` needs shading