从RxJava编译示例时找不到org.reactivestreams.Publisher的类文件?

时间:2017-01-24 08:53:05

标签: java maven rx-java rx-java2

以下代码

package com.inthemoon.snippets.rxjava;

import io.reactivex.*;

public class HelloWorld {

   public static void main(String[] args) {
      Flowable.just("Hello world").subscribe(System.out::println);
   }

}

导致以下编译错误

错误:(9,15)java:无法访问org.reactivestreams.Publisher   未找到org.reactivestreams.Publisher的类文件

POM依赖关注

<dependencies>
        <!-- https://mvnrepository.com/artifact/io.reactivex.rxjava2/rxjava -->
        <dependency>
            <groupId>io.reactivex.rxjava2</groupId>
            <artifactId>rxjava</artifactId>
            <version>2.0.4</version>
        </dependency>


    </dependencies>

3 个答案:

答案 0 :(得分:3)

同样的事发生在我身上。我已经解决了。 添加依赖项如下:

<dependency>
    <groupId>org.reactivestreams</groupId>
    <artifactId>reactive-streams</artifactId>
    <version>1.0.0</version>
</dependency>

答案 1 :(得分:2)

这是自2.0.2以来修复的github.com/ReactiveX/RxJava/issues/5014 2.1.1,是这个答案的最新版本

解决方案:

    <dependency>
        <groupId>io.reactivex.rxjava2</groupId>
        <artifactId>rxjava</artifactId>
        <version>2.1.1</version>
    </dependency>

答案 2 :(得分:0)

相同的错误和简单的解决方案-将其添加到您的应用Gradle文件

implementation 'io.reactivex.rxjava2:rxjava:2.1.14'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'