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

标签 java spring spring-boot swagger dto

我正在处理 Spring boot JPA Gridle project .当前 Swagger正在运行,DTO时出错正在处理。模块似乎相互碰撞。

安装 swagger 时出现错误模块,继续 Swagger ,并为 DTO 安装模块。以下模块产生错误:
compile 'org.springframework.boot:spring-boot-starter-hateoas'
错误如下。

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-03-17 01:26:38.657 ERROR 4688 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

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

The following method did not exist:

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

The method's class, org.springframework.plugin.core.PluginRegistry, is available from the following locations:

    jar:file:/Users/****/.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

It was loaded from the following location:

    file:/Users/****/.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


Action:

Correct the classpath of your application so that it contains a single, compatible version of org.springframework.plugin.core.PluginRegistry


Process finished with exit code 1


我通过搜索尝试的东西也是如此。
compile group: 'org.springframework.plugin', name: 'spring-plugin-core', version: '2.0.0.RELEASE'

compile group: 'io.springfox', name: 'springfox-data-rest', version: '2.9.2'

他们都没有帮助我。

有没有人和我一样的问题?

有没有其他方法可以解决这个问题?

最佳答案

问题是 Swagger 和 Hateoas 模块之间的冲突。一些搜索结果已经找到了解决方案。

解决方案是添加一个新模块并注册 Bean为了它。

compile group: 'org.springframework.plugin', name: 'spring-plugin-core', version: '1.2.0.RELEASE'

SwaggerConfig.java

public class SwaggerConfig {

    @Bean
    public LinkDiscoverers discoverers() {
        List<LinkDiscoverer> plugins = new ArrayList<>();
        plugins.add(new CollectionJsonLinkDiscoverer());
        return new LinkDiscoverers(SimplePluginRegistry.create(plugins));
    }

}

关于java - 试图调用不存在的方法。尝试是从以下位置 : 进行的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60709789/

相关文章:

java - Maven:无法创建 Javadoc

java - 单独列表上的 ConcurrentModificationException 不清楚

java - GLSurfaceView 在 Activity 被销毁后导致 ANR

java - Handler处理失败;嵌套异常是 java.lang.NoClassDefFoundError : sun/io/ByteToCharConverter

spring - 在同一个项目中实现 Spring Cloud Gateway

java - Apache CXF (JAX-RS) 与 Spring Javaconfig 和 Jackson

java - 从段落中分离单词并插入到树结构中

java - 无法读取 Controller 在jsp上发送的数据

java - 无法解析类或包 'h2'

java - 在实际应用程序中使用模拟对象(未测试)