弹簧安全扔错误java.lang.nosuchmethoderror
我有一个带有REST服务的Spring Boot应用程序,并在其中实现了Spring Security。在我的项目中,我曾经扩展一次perrequestfilter并覆盖其方法dofilterinternal()。我还在项目中使用了Jackson DataFormat库。当我调用API时,它会在异常后投掷。
16:45:47,203 ERROR [stderr] (default task-1) org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.fasterxml.jackson.dataformat.xml.XmlFactory._createContentReference(Ljava/lang/Object;)Lcom/fasterxml/jackson/core/io/ContentReference;
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1082)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
16:45:47,204 ERROR [stderr] (default task-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:523)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
16:45:47,204 ERROR [stderr] (default task-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
16:45:47,204 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
16:45:47,204 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at xxx.xxxxx.xxxxx.xxxx.security.UUIDAuthenticationFilter.doFilterInternal(UUIDAuthenticationFilter.java:55)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,209 ERROR [stderr] (default task-1) at xxx.xxxxx.xxxxx.xxxx.security.CORSFilter.doFilterInternal(CORSFilter.java:36)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
16:45:47,209 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,209 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,211 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,211 ERROR [stderr] (default task-1) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
16:45:47,211 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:103)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:161)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:73)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
16:45:47,214 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:79)
16:45:47,216 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:100)
16:45:47,216 ERROR [stderr] (default task-1) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
16:45:47,216 ERROR [stderr] (default task-1) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852)
16:45:47,216 ERROR [stderr] (default task-1) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
16:45:47,216 ERROR [stderr] (default task-1) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
16:45:47,216 ERROR [stderr] (default task-1) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
16:45:47,218 ERROR [stderr] (default task-1) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
16:45:47,218 ERROR [stderr] (default task-1) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
16:45:47,219 ERROR [stderr] (default task-1) at java.lang.Thread.run(Thread.java:748)
16:45:47,219 ERROR [stderr] (default task-1) Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.dataformat.xml.XmlFactory._createContentReference(Ljava/lang/Object;)Lcom/fasterxml/jackson/core/io/ContentReference;
16:45:47,219 ERROR [stderr] (default task-1) at com.fasterxml.jackson.dataformat.xml.XmlFactory.createGenerator(XmlFactory.java:497)
16:45:47,219 ERROR [stderr] (default task-1) at com.fasterxml.jackson.dataformat.xml.XmlFactory.createGenerator(XmlFactory.java:30)
16:45:47,219 ERROR [stderr] (default task-1) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:425)
16:45:47,219 ERROR [stderr] (default task-1) at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:290)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:183)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:135)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
16:45:47,220 ERROR [stderr] (default task-1) ... 119 more
我已经在类似问题上遵循了一些旧线程。但是这些与我使用的版本并不直接相关。这就是我相关的pom.xml的样子,
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<artifactId>my-artifact</artifactId>
<name>my-project</name>
<properties>
<java.version>1.8</java.version>
<log4j2.version>2.17.0</log4j2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>8.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumber -->
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>libphonenumber</artifactId>
<version>8.12.11</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.net.httpserver/http -->
<dependency>
<groupId>com.sun.net.httpserver</groupId>
<artifactId>http</artifactId>
<version>20070405</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>org.bitbucket.cowwoc</groupId>
<artifactId>diff-match-patch</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core -->
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>2.11.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
就像我的代码
@Component
public class UUIDAuthenticationFilter extends OncePerRequestFilter {
public final static Logger LOGGER = LoggerFactory.getLogger(UUIDAuthenticationFilter.class);
private final String HEADER = "Authorization";
private final ISystemUserRepository systemUserRepository;
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws ServletException, IOException {
LOGGER.info("Inside doFilterInternal of UUIDAuthenticationFilter");
try {
if (checkUUIDToken(request, response)) {
SystemUser systemUser = validateToken(request);
if (systemUser != null) {
setUpSpringAuthentication(systemUser);
}
}
chain.doFilter(request, response);
} catch (Exception e) {
LOGGER.error("error in UUIDAuthenticationFilter");
LOGGER.error(e.getMessage(), e);
PrintWriter responseWriter = response.getWriter();
if (e.getMessage() != null && e.getMessage().contains(":") && e.getMessage().split(":") != null
&& e.getMessage().split(":")[1] != null) {
response.setContentLength(e.getMessage().split(":")[1].length());
response.setStatus(500);
responseWriter.write(e.getMessage().split(":")[1]);
} else {
response.setContentLength(e.getMessage().length());
response.setStatus(500);
responseWriter.write(e.getMessage());
}
return;
}
}
private SystemUser validateToken(HttpServletRequest request) {
String UUIDToken = request.getHeader(HEADER);
LOGGER.debug("UUIDToken is " + UUIDToken);
try {
SystemUser systemUser = systemUserRepository.findByApiKey(UUIDToken);
if (systemUser != null && systemUser.getRole() != null) {
return systemUser;
}
systemUser = systemUserRepository.findByLoginTokensContains(UUIDToken);
if (systemUser != null && systemUser.getRole() != null) {
return systemUser;
}
} catch (Exception e) {
LOGGER.error("error in validateToken in UUIDAuthenticationFilter");
LOGGER.error(e.getMessage(), e);
}
return null;
}
/**
* Authentication method in Spring flow
*
* @param
*/
private void setUpSpringAuthentication(SystemUser systemUser) {
try {
List<SimpleGrantedAuthority> authorities = Arrays.stream(systemUser.getRole().split(","))
.map(SimpleGrantedAuthority::new).collect(Collectors.toList());
UUIDAuthenticationToken auth = new UUIDAuthenticationToken(authorities, systemUser.getPassword(),
systemUser.getEmail(), systemUser.getClient().getClientRef());
SecurityContextHolder.getContext().setAuthentication(auth);
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
}
private boolean checkUUIDToken(HttpServletRequest request, HttpServletResponse res) {
String authenticationHeader = request.getHeader(HEADER);
if (authenticationHeader != null && !authenticationHeader.isEmpty())
return true;
return false;
}
public UUIDAuthenticationFilter(ISystemUserRepository systemUserRepository) {
this.systemUserRepository = systemUserRepository;
}
链。换档器(请求,响应); 这条代码导致问题 这是我的MVN依赖树
[INFO] | | +- org.springdoc:springdoc-openapi-webmvc-core:jar:1.6.6:compile
[INFO] | | | \- org.springdoc:springdoc-openapi-common:jar:1.6.6:compile
[INFO] | | | \- io.swagger.core.v3:swagger-core:jar:2.1.12:compile
[INFO] | | | +- org.apache.commons:commons-lang3:jar:3.12.0:compile
[INFO] | | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.13.1:compile
[INFO] | | | +- io.swagger.core.v3:swagger-annotations:jar:2.1.12:compile
[INFO] | | | +- io.swagger.core.v3:swagger-models:jar:2.1.12:compile
[INFO] | | | \- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.13.1:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.13.1:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.13.1:compile
[INFO] | +- org.springframework:spring-web:jar:5.3.16:compile
[INFO] | +- commons-io:commons-io:jar:2.7:compile
[INFO] | +- io.jsonwebtoken:jjwt-api:jar:0.11.2:compile
[INFO] | +- io.jsonwebtoken:jjwt-jackson:jar:0.11.2:compile
[INFO] | +- io.jsonwebtoken:jjwt-impl:jar:0.11.2:runtime
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.13:compile
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.4.15:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.13.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.13.1:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-databind:jar:2.13.1:compile
[INFO] +- com.googlecode.libphonenumber:libphonenumber:jar:8.12.11:compile
[INFO] +- commons-codec:commons-codec:jar:1.15:compile
[INFO] +- com.sun.net.httpserver:http:jar:20070405:compile
[INFO] +- javax.xml.bind:jaxb-api:jar:2.3.1:compile
[INFO] | \- javax.activation:javax.activation-api:jar:1.2.0:compile
[INFO] +- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.13.1:compile
[INFO] +- org.apache.tika:tika-core:jar:2.1.0:compile
[INFO] \- com.vladmihalcea:hibernate-types-52:jar:2.11.1:compile
[INFO] \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.13.1:compile
[INFO] +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile
[INFO] \- jakarta.activation:jakarta.activation-api:jar:1.2.2:compile
I have a spring boot application with a REST service and I implemented Spring Security in it. In my project, I extend OncePerRequestFilter and override its method doFilterInternal(). I also used jackson dataformat library in my project. When I call an API it throws following an exception.
16:45:47,203 ERROR [stderr] (default task-1) org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.fasterxml.jackson.dataformat.xml.XmlFactory._createContentReference(Ljava/lang/Object;)Lcom/fasterxml/jackson/core/io/ContentReference;
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1082)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
16:45:47,204 ERROR [stderr] (default task-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:523)
16:45:47,204 ERROR [stderr] (default task-1) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
16:45:47,204 ERROR [stderr] (default task-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
16:45:47,204 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
16:45:47,204 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,205 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
16:45:47,205 ERROR [stderr] (default task-1) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
16:45:47,206 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at xxx.xxxxx.xxxxx.xxxx.security.UUIDAuthenticationFilter.doFilterInternal(UUIDAuthenticationFilter.java:55)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
16:45:47,207 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
16:45:47,208 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,209 ERROR [stderr] (default task-1) at xxx.xxxxx.xxxxx.xxxx.security.CORSFilter.doFilterInternal(CORSFilter.java:36)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
16:45:47,209 ERROR [stderr] (default task-1) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
16:45:47,209 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,209 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,210 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101)
16:45:47,210 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,211 ERROR [stderr] (default task-1) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,211 ERROR [stderr] (default task-1) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
16:45:47,211 ERROR [stderr] (default task-1) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
16:45:47,211 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.lambda$handleRequest$1(ElytronRunAsHandler.java:68)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.security.auth.server.FlexibleIdentityAssociation.runAsFunctionEx(FlexibleIdentityAssociation.java:103)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.security.auth.server.Scoped.runAsFunctionEx(Scoped.java:161)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.security.auth.server.Scoped.runAs(Scoped.java:73)
16:45:47,212 ERROR [stderr] (default task-1) at org.wildfly.elytron.web.undertow.server.ElytronRunAsHandler.handleRequest(ElytronRunAsHandler.java:67)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
16:45:47,212 ERROR [stderr] (default task-1) at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
16:45:47,214 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1544)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255)
16:45:47,215 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:79)
16:45:47,216 ERROR [stderr] (default task-1) at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:100)
16:45:47,216 ERROR [stderr] (default task-1) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
16:45:47,216 ERROR [stderr] (default task-1) at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852)
16:45:47,216 ERROR [stderr] (default task-1) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
16:45:47,216 ERROR [stderr] (default task-1) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
16:45:47,216 ERROR [stderr] (default task-1) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
16:45:47,218 ERROR [stderr] (default task-1) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
16:45:47,218 ERROR [stderr] (default task-1) at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
16:45:47,219 ERROR [stderr] (default task-1) at java.lang.Thread.run(Thread.java:748)
16:45:47,219 ERROR [stderr] (default task-1) Caused by: java.lang.NoSuchMethodError: com.fasterxml.jackson.dataformat.xml.XmlFactory._createContentReference(Ljava/lang/Object;)Lcom/fasterxml/jackson/core/io/ContentReference;
16:45:47,219 ERROR [stderr] (default task-1) at com.fasterxml.jackson.dataformat.xml.XmlFactory.createGenerator(XmlFactory.java:497)
16:45:47,219 ERROR [stderr] (default task-1) at com.fasterxml.jackson.dataformat.xml.XmlFactory.createGenerator(XmlFactory.java:30)
16:45:47,219 ERROR [stderr] (default task-1) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:425)
16:45:47,219 ERROR [stderr] (default task-1) at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:290)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:183)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:135)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
16:45:47,220 ERROR [stderr] (default task-1) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
16:45:47,220 ERROR [stderr] (default task-1) ... 119 more
I have already followed some of the old threads on a similar issue. But those are not directly related to the versions I am using. This is how my related pom.xml looks like
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.4</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<artifactId>my-artifact</artifactId>
<name>my-project</name>
<properties>
<java.version>1.8</java.version>
<log4j2.version>2.17.0</log4j2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>8.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumber -->
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>libphonenumber</artifactId>
<version>8.12.11</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.net.httpserver/http -->
<dependency>
<groupId>com.sun.net.httpserver</groupId>
<artifactId>http</artifactId>
<version>20070405</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>org.bitbucket.cowwoc</groupId>
<artifactId>diff-match-patch</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core -->
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>2.11.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Here is my code
@Component
public class UUIDAuthenticationFilter extends OncePerRequestFilter {
public final static Logger LOGGER = LoggerFactory.getLogger(UUIDAuthenticationFilter.class);
private final String HEADER = "Authorization";
private final ISystemUserRepository systemUserRepository;
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
throws ServletException, IOException {
LOGGER.info("Inside doFilterInternal of UUIDAuthenticationFilter");
try {
if (checkUUIDToken(request, response)) {
SystemUser systemUser = validateToken(request);
if (systemUser != null) {
setUpSpringAuthentication(systemUser);
}
}
chain.doFilter(request, response);
} catch (Exception e) {
LOGGER.error("error in UUIDAuthenticationFilter");
LOGGER.error(e.getMessage(), e);
PrintWriter responseWriter = response.getWriter();
if (e.getMessage() != null && e.getMessage().contains(":") && e.getMessage().split(":") != null
&& e.getMessage().split(":")[1] != null) {
response.setContentLength(e.getMessage().split(":")[1].length());
response.setStatus(500);
responseWriter.write(e.getMessage().split(":")[1]);
} else {
response.setContentLength(e.getMessage().length());
response.setStatus(500);
responseWriter.write(e.getMessage());
}
return;
}
}
private SystemUser validateToken(HttpServletRequest request) {
String UUIDToken = request.getHeader(HEADER);
LOGGER.debug("UUIDToken is " + UUIDToken);
try {
SystemUser systemUser = systemUserRepository.findByApiKey(UUIDToken);
if (systemUser != null && systemUser.getRole() != null) {
return systemUser;
}
systemUser = systemUserRepository.findByLoginTokensContains(UUIDToken);
if (systemUser != null && systemUser.getRole() != null) {
return systemUser;
}
} catch (Exception e) {
LOGGER.error("error in validateToken in UUIDAuthenticationFilter");
LOGGER.error(e.getMessage(), e);
}
return null;
}
/**
* Authentication method in Spring flow
*
* @param
*/
private void setUpSpringAuthentication(SystemUser systemUser) {
try {
List<SimpleGrantedAuthority> authorities = Arrays.stream(systemUser.getRole().split(","))
.map(SimpleGrantedAuthority::new).collect(Collectors.toList());
UUIDAuthenticationToken auth = new UUIDAuthenticationToken(authorities, systemUser.getPassword(),
systemUser.getEmail(), systemUser.getClient().getClientRef());
SecurityContextHolder.getContext().setAuthentication(auth);
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
}
private boolean checkUUIDToken(HttpServletRequest request, HttpServletResponse res) {
String authenticationHeader = request.getHeader(HEADER);
if (authenticationHeader != null && !authenticationHeader.isEmpty())
return true;
return false;
}
public UUIDAuthenticationFilter(ISystemUserRepository systemUserRepository) {
this.systemUserRepository = systemUserRepository;
}
chain.doFilter(request, response);
this line of code causes an issue
Here is my mvn dependecy tree
[INFO] | | +- org.springdoc:springdoc-openapi-webmvc-core:jar:1.6.6:compile
[INFO] | | | \- org.springdoc:springdoc-openapi-common:jar:1.6.6:compile
[INFO] | | | \- io.swagger.core.v3:swagger-core:jar:2.1.12:compile
[INFO] | | | +- org.apache.commons:commons-lang3:jar:3.12.0:compile
[INFO] | | | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.13.1:compile
[INFO] | | | +- io.swagger.core.v3:swagger-annotations:jar:2.1.12:compile
[INFO] | | | +- io.swagger.core.v3:swagger-models:jar:2.1.12:compile
[INFO] | | | \- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.13.1:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.13.1:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.13.1:compile
[INFO] | +- org.springframework:spring-web:jar:5.3.16:compile
[INFO] | +- commons-io:commons-io:jar:2.7:compile
[INFO] | +- io.jsonwebtoken:jjwt-api:jar:0.11.2:compile
[INFO] | +- io.jsonwebtoken:jjwt-jackson:jar:0.11.2:compile
[INFO] | +- io.jsonwebtoken:jjwt-impl:jar:0.11.2:runtime
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.13:compile
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.4.15:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.13.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.13.1:compile
[INFO] | \- com.fasterxml.jackson.core:jackson-databind:jar:2.13.1:compile
[INFO] +- com.googlecode.libphonenumber:libphonenumber:jar:8.12.11:compile
[INFO] +- commons-codec:commons-codec:jar:1.15:compile
[INFO] +- com.sun.net.httpserver:http:jar:20070405:compile
[INFO] +- javax.xml.bind:jaxb-api:jar:2.3.1:compile
[INFO] | \- javax.activation:javax.activation-api:jar:1.2.0:compile
[INFO] +- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.13.1:compile
[INFO] +- org.apache.tika:tika-core:jar:2.1.0:compile
[INFO] \- com.vladmihalcea:hibernate-types-52:jar:2.11.1:compile
[INFO] \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.13.1:compile
[INFO] +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile
[INFO] \- jakarta.activation:jakarta.activation-api:jar:1.2.2:compile
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论