NoClassDefFoundError javax/servlet/ServletException with version 1.5.12
See original GitHub issueDescribe the bug
- We have a Spring-Boot (Version 2.5.5) Web-Flux application that uses
springdoc-openapi-webflux-ui
. I don’t think we have any special configuration. Only relying on Spring-Boot’s autoconfiguration capabilities and using the Swagger annotations in a@RestController
. When starting the application we receive the following exception since upgrading to1.5.12
:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springdoc.core.GenericResponseService]: Factory method 'responseBuilder' threw exception; nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletException
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.10.jar:5.3.10]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.10.jar:5.3.10]
... 33 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletException
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
at java.base/java.lang.Class.forName(Class.java:315) ~[na:na]
at org.springdoc.core.GenericResponseService.<clinit>(GenericResponseService.java:115) ~[springdoc-openapi-common-1.5.12.jar:1.5.12]
at org.springdoc.webflux.core.SpringDocWebFluxConfiguration.responseBuilder(SpringDocWebFluxConfiguration.java:138) ~[springdoc-openapi-webflux-core-1.5.12.jar:1.5.12]
Coming from version 1.5.11
, the failing behavior seems to come from the exact changes that have been made in GenericResponseService
: https://github.com/springdoc/springdoc-openapi/compare/v1.5.11...v1.5.12
It seems like the code can deal with a ClassNotFoundException
but not a NoClassDefFoundError
. Now I’m not sure whether this is a quirk of my application or actually a bug in springdoc-openapi
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (4 by maintainers)
Top Results From Across the Web
Spring Boot java.lang.NoClassDefFoundError: javax/servlet ...
in new version I see a checkbox, checking it will added provided dependencies at runtime for intellij ! – Kalpesh Soni. Apr 24,...
Read more >3 ways to solve java.lang.NoClassDefFoundError in Java J2EE
I am facing the NoClassDefFoundError in my Android app together with the ClassNotFoundError. The app's architecture is that I have a free and...
Read more >"NoClassDefFoundError" on updating of Kotlin JVM from 1.5 ...
I got java.lang.NoClassDefFoundError: com/intellij/openapi/util/SystemInfoRt at com.intellij.openapi.application.PathManager.
Read more >Exception in thread 'main' java.lang.NoClassDefFoundError
I am getting Exception in thread "main" java.lang.NoClassDefFoundError as below when runs a java standalone project using the JAXB version of the JAVA...
Read more >java.lang.NoClassDefFoundError exception when starting 4.2.3
NoClassDefFoundError exceptions such as the following when I start ... 14:01:52,866 INFO [ServerInfo] Java version: 1.5.0_13,Apple Inc.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Yeah, that’s why my first suggestion is catching and throwing another exception to give a hint. That said, I am also okay with leaving as-is.
Meanwhile I also found out that we had a bogus dependency configuration pulling in
spring-webmvc
and I fixed the problem for us by fixing the dependencies.