简体   繁体   English

java.lang.NoSuchMethodError: org.springframework.util.StringUtils.matchesCharacter(Ljava/lang/String;C)Z

[英]java.lang.NoSuchMethodError: org.springframework.util.StringUtils.matchesCharacter(Ljava/lang/String;C)Z

I'm in the process of deploying a.war spring boot backend onto Digital Ocean using Tomcat.我正在使用 Tomcat 将 a.war spring 引导后端部署到 Digital Ocean 上。 I'm not sure how to check the runtime versions of the jar as other posts have suggested since this is being run remotely.我不确定如何检查 jar 的运行时版本,正如其他帖子所建议的那样,因为这是远程运行的。 Thanks谢谢

Message信息

Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.springframework.util.StringUtils.matchesCharacter(Ljava/lang/String;C)Z

Exception例外

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.springframework.util.StringUtils.matchesCharacter(Ljava/lang/String;C)Z
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:103)
org.springframework.boot.web.servlet.support.ErrorPageFilter.forwardToErrorPage(ErrorPageFilter.java:191)
org.springframework.boot.web.servlet.support.ErrorPageFilter.handleException(ErrorPageFilter.java:176)
org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:143)
org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64)
org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)

pom.xml 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.3.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.nybc</groupId>
<artifactId>nybc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>nybc</name>
<description>NYBC web server</description>

<properties>
    <java.version>8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        </dependency>


    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Thank you.谢谢你。

You are most likely mixing up Spring dependencies from different framework versions.您很可能会混淆来自不同框架版本的 Spring 依赖项。 StringUtils.matchesCharacter() method was introduced in Spring 5.2.9 . StringUtils.matchesCharacter()方法是在Spring 5.2.9中引入的。 It looks like you are using Spring Boot 2.3.5.RELEASE which depends on Spring 5.2.10 so you should be fine, however:看起来您正在使用 Spring Boot 2.3.5.RELEASE 这取决于 Spring 5.2.10 所以您应该没问题,但是:

  1. You are either deploying to a runtime environment that provides spring-boot-starter-web jar in different, lower version.您正在部署到运行时环境,该环境以不同的较低版本提供spring-boot-starter-web jar。

  2. Or the dependency spring-boot-starter-web should not be marked as <scope>provided</scope> in your pom.xml because it's needed in the runtime.或者依赖spring-boot-starter-web不应在 pom.xml 中标记为<scope>provided</scope> ,因为它在运行时需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.NoSuchMethodError:org.apache.commons.lang.StringUtils.isBlank(Ljava / lang / String;)Z错误 - java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.isBlank(Ljava/lang/String;)Z Error java.lang.NoSuchMethodError:org / springframework / util / ReflectionUtils.isPublicStaticFinal(Ljava / lang / reflect / Field;)Z - java.lang.NoSuchMethodError: org/springframework/util/ReflectionUtils.isPublicStaticFinal(Ljava/lang/reflect/Field;)Z java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage(Ljava/lang/annotation/Annotation;)Z - java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage(Ljava/lang/annotation/Annotation;)Z java.lang.NoSuchMethodError:org.springframework.beans.factory.support.DefaultListableBeanFactory.getDependencyComparator()Ljava / util / Comparator;“}} - java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory.getDependencyComparator()Ljava/util/Comparator;"}} Spring java.lang.NoSuchMethodError:org.springframework.web.accept.PathExtensionContentNegotiationStrategy.getMediaTypes()Ljava / util / Map; - Spring java.lang.NoSuchMethodError: org.springframework.web.accept.PathExtensionContentNegotiationStrategy.getMediaTypes()Ljava/util/Map; 造成原因:java.lang.NoSuchMethodError:org.springframework.beans.MutablePropertyValues.get(Ljava / lang / String;)Ljava / lang / Object - Caused by: java.lang.NoSuchMethodError: org.springframework.beans.MutablePropertyValues.get(Ljava/lang/String;)Ljava/lang/Object java.lang.NoSuchMethodError:org.springframework.web.context.ConfigurableWebApplicationContext.getId()Ljava / lang / String; - java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.getId()Ljava/lang/String; 引起:java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.RequestMapping.path()[Ljava/lang/String; - Caused by: java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.RequestMapping.path()[Ljava/lang/String; java.lang.NoSuchMethodError:org.springframework.web.context.ConfigurableWebApplicationContext.setId(Ljava / lang / String;)V - java.lang.NoSuchMethodError: org.springframework.web.context.ConfigurableWebApplicationContext.setId(Ljava/lang/String;)V java.lang.NoSuchMethodError: com.wm.util.Strings.isBlank(Ljava/lang/String;)Z - java.lang.NoSuchMethodError: com.wm.util.Strings.isBlank(Ljava/lang/String;)Z
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM