java - 为什么我收到 NoClassDefFoundError : org/reactivestreams/Publisher

标签 java reactivex

流.java

import io.reactivex.*;


public class Stream {

    public static void main(String args[])
    {

      Observable.just("Howdy!").subscribe(System.out::println);

    }
}

build.gradle:

group 'com.sakhunzai'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_8

repositories {
    mavenCentral()
}

dependencies {
    compile 'io.reactivex.rxjava2:rxjava:2.0.5'
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

异常(exception):

Exception in thread "main" java.lang.NoClassDefFoundError: org/reactivestreams/Publisher
....
Caused by: java.lang.ClassNotFoundException: org.reactivestreams.Publisher

我正在关注 tutorial在第六页,除了我决定使用 gradle 而不是 maven

编辑

可能是 gradle 和 Intellij IDEA 的一些问题

以下解决了问题: 设置.gradle:

rootProject.name = 'JavaRx'

include "buildSrc"

最佳答案

异常意味着 org.reactivestreams.Publisher 类在运行时不可用。所以它在类路径中丢失了。您可以通过在 gradle 中添加依赖引用来添加到类路径中。

根据您使用的版本,它应该如下所示:

dependencies {
    compile group: 'org.reactivestreams', name: 'reactive-streams', version: '1.0.0'
    ...<the other depandancies>...
}

关于java - 为什么我收到 NoClassDefFoundError : org/reactivestreams/Publisher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43231477/

相关文章:

java - 整数除法 : Why is the result of 1/3 == 0?

javascript - 在第一个可观察对象发出后,在第二个可观察对象的第一次发出时发出

javascript - RxJS 等待嵌套的 observable 过滤数组数据

android - 合并可观察对象后的 Distinct() 方法

java - 如何构造具有自定义数字和不同延迟的 Observable?

java - 部署一次脚本用于迁移 MongoDB 中的数据

java - 具有两个功能的 Android 按钮

java - 为什么我无法将元素插入到我的链表实现中?

android - 如何在 RxJava 中链接具有不同间隔的可观察量?

java - 当从键盘输入 10 个数字时,从 while 循环中打印最大的数字