Skip to content

Get java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlElement (org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.5) #2906

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
SashaVolushkova opened this issue Feb 18, 2025 · 2 comments

Comments

@SashaVolushkova
Copy link

Describe the bug

get exception after openning swagger ui in java spring boot 3 application.

  • What version of spring-boot you are using? 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.5'
  • What modules and versions of springdoc-openapi are you using? 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.5'
  • What is the actual and the expected result using OpenAPI Description (yml or json)? - i cant get it
  • Provide with a sample code (HelloController) or Test that reproduces the problem - without any controller (even if swagger should be empty)

Additional context
Add any other context about the problem here.

here is the build file build.txt

cant use swagger ui - after openning in browser swager-link get 500 and here is a stacktrace:

java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlElement
at io.swagger.v3.core.jackson.SwaggerAnnotationIntrospector.hasRequiredMarker(SwaggerAnnotationIntrospector.java:29) ~[swagger-core-2.2.28.jar:2.2.28]
at com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.hasRequiredMarker(AnnotationIntrospectorPair.java:310) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getMetadata(POJOPropertyBuilder.java:225) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._anyIndexed(POJOPropertiesCollector.java:1665) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._sortProperties(POJOPropertiesCollector.java:1557) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:503) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getPropertyMap(POJOPropertiesCollector.java:389) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getProperties(POJOPropertiesCollector.java:222) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.BasicBeanDescription._properties(BasicBeanDescription.java:161) ~[jackson-databind-2.18.2.jar:2.18.2]
at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findProperties(BasicBeanDescription.java:236) ~[jackson-databind-2.18.2.jar:2.18.2]
at org.springdoc.core.converters.PolymorphicModelConverter.resolve(PolymorphicModelConverter.java:126) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.core.converters.OAS31ModelConverter.resolve(OAS31ModelConverter.java:49) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at io.swagger.v3.core.converter.ModelConverterContextImpl.resolve(ModelConverterContextImpl.java:97) ~[swagger-core-2.2.28.jar:2.2.28]
at io.swagger.v3.core.converter.ModelConverters.resolveAsResolvedSchema(ModelConverters.java:192) ~[swagger-core-2.2.28.jar:2.2.28]
at io.swagger.v3.core.converter.ModelConverters.readAllAsResolvedSchema(ModelConverters.java:182) ~[swagger-core-2.2.28.jar:2.2.28]
at io.swagger.v3.core.util.AnnotationsUtils.resolveSchemaFromType(AnnotationsUtils.java:897) ~[swagger-core-2.2.28.jar:2.2.28]
at io.swagger.v3.core.util.AnnotationsUtils.getSchema(AnnotationsUtils.java:1743) ~[swagger-core-2.2.28.jar:2.2.28]
at io.swagger.v3.core.util.AnnotationsUtils.getSchema(AnnotationsUtils.java:1722) ~[swagger-core-2.2.28.jar:2.2.28]
at org.springdoc.core.utils.SpringDocAnnotationsUtils.getMediaType(SpringDocAnnotationsUtils.java:395) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.core.utils.SpringDocAnnotationsUtils.getContent(SpringDocAnnotationsUtils.java:211) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.core.service.OperationService.buildResponseContent(OperationService.java:370) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.core.service.OperationService.getApiResponses(OperationService.java:338) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.core.service.OperationService.buildResponse(OperationService.java:491) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.core.service.OperationService.parse(OperationService.java:163) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:608) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:815) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$13(OpenApiResource.java:227) ~[springdoc-openapi-starter-webmvc-api-2.8.5.jar:2.8.5]
at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[na:na]
at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:208) ~[springdoc-openapi-starter-webmvc-api-2.8.5.jar:2.8.5]
at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$4(OpenApiResource.java:178) ~[springdoc-openapi-starter-webmvc-api-2.8.5.jar:2.8.5]
at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[na:na]
at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:152) ~[springdoc-openapi-starter-webmvc-api-2.8.5.jar:2.8.5]
at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:370) ~[springdoc-openapi-starter-common-2.8.5.jar:2.8.5]
at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:127) ~[springdoc-openapi-starter-webmvc-api-2.8.5.jar:2.8.5]
at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:117) ~[springdoc-openapi-starter-webmvc-api-2.8.5.jar:2.8.5]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.2.jar:6.2.2]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.2.jar:6.2.2]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.2.jar:6.2.2]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.34.jar:6.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.34.jar:10.1.34]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.2.jar:6.2.2]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.2.jar:6.2.2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.34.jar:10.1.34]
at java.base/java.lang.Thread.run(Thread.java:1570) ~[na:na]

@SashaVolushkova
Copy link
Author

I hope that error is in swagger-parser lib: swagger-api/swagger-parser#2158

@bnasslahsen
Copy link
Collaborator

@SashaVolushkova,

Not reproducible.
Feel free to provide a Minimal, Reproducible Example - with HelloController that reproduces the problem.

This ticket will be closed, but can be reopened if your provide the reproducible sample.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants