首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >领域NoClassDefFoundError: rx.Observable

领域NoClassDefFoundError: rx.Observable
EN

Stack Overflow用户
提问于 2017-11-01 18:57:47
回答 1查看 2.5K关注 0票数 3

我正在经历一个领域文档中指出的问题:

Jackson数据库 Jackson Databind是一个库,用于将JSON数据绑定到Java类。 Jackson使用反射来执行数据绑定。这与领域对RxJava的支持相冲突,因为类加载程序可能无法使用RxJava。这可能导致异常,如下所示: 复制到libcore.reflect.InternalNames.getClass(InternalNames.java:55)的clipboardjava.lang.NoClassDefFoundError: rx.Observable .

以下是建议的解决办法:

可以通过向项目中添加RxJava或创建两个类似于以下内容的空虚拟文件来解决这一问题。 复制到剪贴板// File 1包io.reactivex;公共类可流动的{}// File 2包io.reactivex;可观察的公共类{} 这一问题也已报告给杰克逊项目这里

问题:我在哪里创建这些文件,这样它们就没有我的应用程序的包名了?(ex: com.myApp.myPackage)

附带注意:我是从SimpleXml,而不是Jackson (也许simplexml使用jackson?)体验到的。我看到了两个错误:

  1. 领域NoClassDefFoundError: rx.Observable领域
  2. NoClassDefFoundError: io.reactivex.Observable
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-01 19:21:37

您使用的是比v4.0.0更早的领域,因此需要创建包rx,并创建名为Observable的虚拟类。但是您只需要在src/main/java/rx中创建它。

代码语言:javascript
运行
复制
package rx;

public class Observable {
}

对于领域4.0.0+,您需要在src/main/java/io/reactivex中。

代码语言:javascript
运行
复制
package io.reactivex;

public class Observable {
}

代码语言:javascript
运行
复制
package io.reactivex;

public class Flowable {
}

代码语言:javascript
运行
复制
package io.reactivex;

public enum BackpressureStrategy {
  MISSING,
  ERROR,
  BUFFER,
  DROP,
  LATEST
}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47061821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档