在Ammonite中,我执行以下代码...试着做两个可流动的orderedMerge,
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之后,它抛出了异常:
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)有人能帮我一下吗?我对此一无所知...
奇怪的是,它可以打印第一个订购的商品,但不能打印下面的商品…
发布于 2020-05-21 23:31:07
rxjava3-extensions:3.0.0-RC7与rxjava:3.0.3不兼容。候选版本并不提供严格的兼容性保证。
升级到rxjava3-extensions:3.0.0或更高版本。
对于将来的参考,NoSuchMethodError几乎总是指示不兼容的库。异常消息中的unfound方法和堆栈跟踪顶部的方法是涉及哪些库的良好指示器。
发布于 2020-05-22 00:07:41
该库的原始开发人员告诉我使用发布版本库,而不是使用RC7。那么现在一切都很顺利。
谢谢你们所有人!
om.subscribe(i=>println(i))
2
3
4
5
6
res22: io.reactivex.rxjava3.disposables.Disposable = CANCELLEDhttps://stackoverflow.com/questions/61937367
复制相似问题