【问题标题】:Micronaut ribbon eureka dependency conflictMicronaut 功能区 eureka 依赖冲突
【发布时间】:2019-05-21 18:43:35
【问题描述】:

我正在学习 Micronaut 框架。 我的 gradle.build 文件

dependencies {
annotationProcessor "io.micronaut:micronaut-inject-java"
annotationProcessor "io.micronaut:micronaut-validation"
compile "io.micronaut:micronaut-http-client"
compile "io.micronaut:micronaut-inject"
compile "io.micronaut:micronaut-validation"
compile "io.micronaut:micronaut-runtime"
compile "io.micronaut:micronaut-http-server-netty"
compile "javax.annotation:javax.annotation-api"
runtime "ch.qos.logback:logback-classic:1.2.3"
runtime "io.micronaut:micronaut-discovery-client"
testAnnotationProcessor "io.micronaut:micronaut-inject-java"
testCompile "org.junit.jupiter:junit-jupiter-api"
testCompile "io.micronaut.test:micronaut-test-junit5"
testRuntime "org.junit.jupiter:junit-jupiter-engine"

}

但程序启动失败并出现依赖关系

compile "io.micronaut.configuration:micronaut-netflix-ribbon"

我得到错误:

21:39:30.792 [main] ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: Unable to start Micronaut server on port: 8090
io.micronaut.http.server.exceptions.ServerStartupException: Unable to start Micronaut server on port: 8090
    at io.micronaut.http.server.netty.NettyHttpServer.bindServerToHost(NettyHttpServer.java:438)
    at io.micronaut.http.server.netty.NettyHttpServer.start(NettyHttpServer.java:310)
    at io.micronaut.http.server.netty.NettyHttpServer.start(NettyHttpServer.java:95)
    at io.micronaut.runtime.Micronaut.lambda$start$2(Micronaut.java:75)
    at java.base/java.util.Optional.ifPresent(Optional.java:183)
    at io.micronaut.runtime.Micronaut.start(Micronaut.java:73)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:288)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:274)
    at dev.ivanov.Application.main(Application.java:8)
Caused by: java.lang.NoSuchMethodError: io.reactivex.internal.subscriptions.SubscriptionHelper.isCancelled(Lorg/reactivestreams/Subscription;)Z

Micronaut 不能与 Eureka 和 Ribbon 一起工作吗?

【问题讨论】:

    标签: java netflix-eureka micronaut netflix-ribbon


    【解决方案1】:

    您发布的堆栈跟踪不是完整的堆栈跟踪,因为它没有显示错误的实际根本原因,因此无法说出哪段代码依赖于该方法

    这看起来像是 RxJava2 版本的不兼容。不幸的是,RxJava 团队决定允许在一个点发布中进行重大更改:https://github.com/ReactiveX/RxJava/pull/6263

    Micronaut 带有 RxJava2 2.2.6,它具有重大变化。

    所以选项是:

    1. 向 RxJava 人员提交请求以恢复重大更改
    2. 向 Netflix 人员提交升级他们的版本的请求
    3. 尝试强制将 RxJava2 版本降级到 2.2.3。 ext."rxjava2.version" = "2.2.3" 以 gradle 为例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 2019-12-24
      • 2021-12-14
      • 2022-01-24
      相关资源
      最近更新 更多