首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Scala + RxJava3) Flowables.orderedMerge NoSuchMethodError

(Scala + RxJava3) Flowables.orderedMerge NoSuchMethodError
EN

Stack Overflow用户
提问于 2020-05-21 22:57:02
回答 2查看 60关注 0票数 1

在Ammonite中,我执行以下代码...试着做两个可流动的orderedMerge,

代码语言:javascript
复制
import $ivy.{
    `io.circe::circe-generic:0.13.0`                    ,
    `io.circe::circe-parser:0.13.0`                     ,
    `io.circe::circe-optics:0.13.0`                     ,
    `com.softwaremill.sttp::core:1.7.2`                 ,
    `org.scalaz::scalaz-core:7.2.27`                    ,
    `com.lihaoyi::requests:0.2.0`                       ,
    `io.get-coursier::coursier-core:2.0.0-RC4`          ,
    `io.lemonlabs::scala-uri:1.4.10`                    ,
    `net.liftweb::lift-json:3.4.0`                      ,
    `io.reactivex.rxjava3:rxjava:3.0.3`                 ,
    `com.github.akarnokd:rxjava3-extensions:3.0.0-RC7`
}

import io.lemonlabs.uri._
implicit val formats = net.liftweb.json.DefaultFormats
import net.liftweb.json.JsonAST._
import net.liftweb.json.Extraction._
import net.liftweb.json._
import io.reactivex.rxjava3.core._
import io.reactivex.rxjava3.functions._
import net.liftweb.json.JsonDSL._
import collection.JavaConverters._
import io.reactivex.rxjava3.subjects._
import scala.collection.mutable.HashMap
import io.reactivex.rxjava3.internal.functions.Functions
Flowables.orderedMerge(
    List(
        Flowable.just(3, 5),
        Flowable.just(2, 4, 6)
    ).toIterable.asJava, 
    Functions.naturalComparator[Int]()
    ).subscribe(i=>println(i))

但在打印2之后,它抛出了异常:

代码语言:javascript
复制
java.lang.NoSuchMethodError: io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber.requestOne()V
  hu.akarnokd.rxjava3.operators.BasicMergeSubscription.drain(BasicMergeSubscription.java:268)
  hu.akarnokd.rxjava3.operators.BasicMergeSubscription.innerComplete(BasicMergeSubscription.java:161)
  io.reactivex.rxjava3.internal.subscribers.InnerQueuedSubscriber.onSubscribe(InnerQueuedSubscriber.java:69)
  io.reactivex.rxjava3.internal.operators.flowable.FlowableFromArray.subscribeActual(FlowableFromArray.java:39)
  io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15750)
  io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15696)
  hu.akarnokd.rxjava3.operators.BasicMergeSubscription.subscribe(BasicMergeSubscription.java:79)
  hu.akarnokd.rxjava3.operators.FlowableOrderedMerge.subscribeActual(FlowableOrderedMerge.java:94)
  io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15750)
  io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15686)
  io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15618)
  ammonite.$sess.cmd63$.<clinit>(cmd63.sc:1)

有人能帮我一下吗?我对此一无所知...

奇怪的是,它可以打印第一个订购的商品,但不能打印下面的商品…

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-21 23:31:07

rxjava3-extensions:3.0.0-RC7rxjava:3.0.3不兼容。候选版本并不提供严格的兼容性保证。

升级到rxjava3-extensions:3.0.0或更高版本。

对于将来的参考,NoSuchMethodError几乎总是指示不兼容的库。异常消息中的unfound方法和堆栈跟踪顶部的方法是涉及哪些库的良好指示器。

票数 2
EN

Stack Overflow用户

发布于 2020-05-22 00:07:41

该库的原始开发人员告诉我使用发布版本库,而不是使用RC7。那么现在一切都很顺利。

谢谢你们所有人!

代码语言:javascript
复制
om.subscribe(i=>println(i)) 
2
3
4
5
6
res22: io.reactivex.rxjava3.disposables.Disposable = CANCELLED
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61937367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档