将Spring Boot从2.1.0升级到2.2.2.RELEASE,现在启动时出现异常

时间:2020-01-08 14:14:57

标签: java spring-boot swagger swagger-2.0 spring-boot-actuator

我已将SpringBoot版本2.1.0升级到2.2.2.RELEASE

java:openjdk11 春季启动:v2.2.0.RELEASE springCloudVersion:Hoxton.RC1

错误:

申请无法开始

说明:

试图调用一个不存在的方法。尝试是从以下位置进行的:

springfox.documentation.spring.web.plugins.DocumentationPluginsManager.createContextBuilder(DocumentationPluginsManager.java:152)

以下方法不存在:

 org.springframework.plugin.core.PluginRegistry.getPluginFor(Ljava/lang> /Object;Lorg/springframework/plugin/core/Plugin;)Lorg/springframework/plugin/core/Plugin;

该方法的类org.springframework.plugin.core.PluginRegistry可从以下位置获得:

jar:file:/home/cuelogic.local/kanisha.modi/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-core/2.0.0.RELEASE/95fc8c13037630f4aba9c51141f535becec00fe6/spring-plugin-core-2.0.0.RELEASE.jar!/org/springframework/plugin/core/PluginRegistry.class

它是从以下位置加载的:

file:/home/cuelogic.local/kanisha.modi/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-core/2.0.0.RELEASE/95fc8c13037630f4aba9c51141f535becec00fe6/spring-plugin-core-2.0.0.RELEASE.jar

操作:

更正应用程序的类路径,使其包含org.springframework.plugin.core.PluginRegistry的单个兼容版本

引起的错误
 Caused by: java.lang.NoSuchMethodError:
 org.springframework.plugin.core.PluginRegistry.getPluginFor(Ljava/lang/Object;Lorg/springframework/plugin/core/Plugin;)Lorg/springframework/plugin/core/Plugin;
    at
 springfox.documentation.spring.web.plugins.DocumentationPluginsManager.createContextBuilder(DocumentationPluginsManager.java:152)
    at
 springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.defaultContextBuilder(DocumentationPluginsBootstrapper.java:106)
    at
 springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.buildContext(DocumentationPluginsBootstrapper.java:91)
    at
 springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:154)
    at
 org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182)
    ... 101 common frames omitted

build.gradle

dependencies {
    
    compile "org.springframework.cloud:spring-cloud-starter-netflix-eureka-client"
    compile "io.opentracing.contrib:opentracing-spring-jaeger-cloud-starter:1.0.1"
    compile "org.springframework.boot:spring-boot-starter"
    compile "org.springframework.boot:spring-boot-starter-amqp"
    compile "org.springframework.boot:spring-boot-starter-web"
    compile "org.springframework.boot:spring-boot-starter-actuator"
    compile "org.springframework.boot:spring-boot-starter-tomcat"
    compile "org.springframework.boot:spring-boot-starter-security"
    compile "org.springframework.boot:spring-boot-starter-logging"
    compile "org.springframework.boot:spring-boot-starter-data-rest"
    compile "org.springframework.boot:spring-boot-starter-data-mongodb"
    compile "org.springframework.boot:spring-boot-starter-aop"
    compile "org.springframework:springloaded:1.2.8.RELEASE"
    compile "org.springframework.security:spring-security-web"
    compile "org.springframework.security:spring-security-config"
    compile "org.apache.commons:commons-collections4:4.1"
    compile "com.fasterxml.jackson.core:jackson-databind:2.9.10"
    compile "com.google.guava:guava:${guava_version}"
    compile(group: 'io.springfox', name: 'springfox-swagger2', version: '2.7.0') {
        exclude(module: 'guava')
    }
    compile "javax.cache:cache-api:1.1.0"
    compile "org.springframework.boot:spring-boot-starter-websocket"
    compile "org.springframework.boot:spring-boot-configuration-processor"
    compile "org.springframework.boot:spring-boot-starter-cache"
    compile "com.hazelcast:hazelcast-spring:3.12"
    compile "com.hazelcast:hazelcast-eureka-one:1.0.2"
    compile "org.reflections:reflections:0.9.11"
    compile group: 'io.opentracing.contrib', name: 'opentracing-spring-cloud-mongo-starter', version: '0.3.12'


}    

如何解决此问题?请帮助我,将不胜感激。 我想将我的应用程序升级到springboot v2.2.2。因此需要该版本的解决方案。

1 个答案:

答案 0 :(得分:4)

更新您的springfox-swagger版本。我有在引导2.2.2下运行的springfox 2.9.2

编辑98.01.2020:

您以某种方式在类路径中获得了spring-plugin-core-2.2.0.RELEASE。 SpringFox需要版本1.2.0,Spring Boot 2.2.2本身不支持此功能。您可以运行gradle依赖项--configuration runtimeClasspath并检查该版本中的哪个依赖项吗?