我遇到了Realm文档中指出的问题:
Jackson Databind
Jackson Databind是一个用于将JSON数据绑定到Java类的库。
杰克逊使用反射来执行数据绑定。这种冲突 由于Realm对RxJava的支持,因为RxJava可能无法使用 类加载器。这可能会导致异常 这样:
Copy to clipboardjava.lang.NoClassDefFoundError: rx.Observable at libcore.reflect.InternalNames.getClass(InternalNames.java:55) ...
以下是建议的修复:
可以通过将RxJava添加到项目或创建来解决此问题 两个空的虚拟文件,如下所示。
Copy to clipboard// File 1 package io.reactivex; public class Flowable { } // File 2 package io.reactivex; public class Observable { }
此问题也已报告给杰克逊项目here。
问题:我在哪里创建文件,因此他们没有我的应用程序包名称? (例如:com.myApp.myPackage)
旁注:我是从SimpleXml体验到的,而不是Jackson(也许是simplexml使用的是jackson?)。我看过2个错误:
答案 0 :(得分:13)
您使用的是早于v4.0.0的Realm,因此您需要创建包rx
和名为Observable
的虚拟类。但您只需要在src/main/java/rx
中创建它。
package rx;
public class Observable {
}
对于Realm 4.0.0+,您需要src/main/java/io/reactivex
。
package io.reactivex;
public class Observable {
}
和
package io.reactivex;
public class Flowable {
}
和
package io.reactivex;
public enum BackpressureStrategy {
MISSING,
ERROR,
BUFFER,
DROP,
LATEST
}