解决:Eclipse使用RxJava 2 出现“java.lang.NoClassDefFoundError:io.reactivex.Flowable”的异常问题

问题

最近要在Eclipse上使用RxJava2,导入RxJava 2.0.1 和RxAndroid 2.0.1的jar包后,在使用map、flatmap、zip,或者使用subscribeOn和observOn的切换线程的时候,都报错了,完全没法使用。

错误信息:

  FATAL EXCEPTION:main
  Process: com.xxx.xxxx, PID: 12345
  java.lang.NoClassDefFoundError:io.reactivex.Flowable
  at io.reactivex.Observable.bufferSize(Observable.java:122)
  at io.reactivex.Observable.zip(Observable.java:3627)
  .........

解决方案

从错误信息看,Flowable类找不到定义,那就是类加载器加载的时候出错了,看了下jar包中对应包下,这个类是存在的。于是考虑是不是Eclipse下自己下载RxJava的jar手动依赖缺少了其它依赖包,上maven中央仓库查找对应RxJava 2.0.1的包需要依赖什么jar库,果然Runtime Dependencies下有个reactive-streams的依赖,下载1.0.0的包,导入eclipse的libs目录中,完美解决。

你可能感兴趣的:(解决:Eclipse使用RxJava 2 出现“java.lang.NoClassDefFoundError:io.reactivex.Flowable”的异常问题)