RxJava尽力做到非常轻巧。它仅关注Observable的抽象和与之相关的高层函数,实现为一个单独的JAR文件。

RxJava 支持Java 6或者更新的版本,以及其它的JVM语言如 , Clojure, , Kotlin 和 。RxJava 可用于更多的语言环境,而不仅仅是Java和Scala,而且它致力于尊重每一种JVM语言的习惯。

下面是可与RxJava协作的第三方库:

  • Hystrix - 用于分布式系统的一个延时和容错处理框架
  • - 一个用于Apache Camel 的 RxJava 兼容层
  • - 让你可以跟踪HTTP日志,就像使用 一样
  • rxjava-jdbc - 使用RxJava流式处理JDBC连接,还支持语句的函数式组合
  • - 使用RxJava实现的一个纯内存的可变的R-tree和R*-tree

你可以在Maven Central http://search.maven.org 找到用于Maven, Ivy, Gradle, SBT和其它构建工具需要的二进制文件和依赖信息.

Maven示例:

Ivy示例:

  1. <dependency org="io.reactivex" name="rxjava" rev="1.0.10" />

Gradle示例:

  1. compile 'io.reactivex:rxjava:1.0.10'

如果你没有使用构建系统,想直接下载JAR文件的话可以在这里找到:

检出和构建RxJava的源码,使用以下命令:

要执行一个完整的构建,使用这个命令:

    构建命令的输出大概是这样的:

    1. > Building > :rxjava:test > 91 tests completed

    有一位开发者上报了下面这个错误:

    他在从.gradle/caches和移除了旧版本的 scala-library之后解决了这个问题,然后执行了一次完整构建。(查看详细信息)

    在构建RxJava时你可能会遇到下面的错误:

    Failed to apply plugin [id ‘java’]
    Could not generate a proxy class for class nebula.core.NamedContainerProperOrder.

    这是JVM的问题,详细信息可以参考 。如果遇到这个问题,可以在构建RxJava之前执行 export GRADLE_OPTS=-noverify,或者升级你机器上的JDK。