我试图在我的android项目中包含rethinkdb java客户端驱动程序并尝试构建项目但它失败了。我正在使用Android Studio。
这是build.gradle中的一行:
compile (group: 'com.rethinkdb', name: 'rethinkdb-driver', version: '2.2-beta-1')
我得到的是这个例外:
:app:transformClassesWithDexForDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Exception parsing classes
at com.android.dx.command.dexer.Main.processClass(Main.java:752)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)
at com.android.dx.command.dexer.Main.access$1200(Main.java:85)
at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:672)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
at com.android.dx.command.dexer.Main.run(Main.java:277)
at com.android.dx.command.dexer.Main.main(Main.java:245)
at com.android.dx.command.Main.main(Main.java:106)
Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
at com.android.dx.command.dexer.Main.parseClass(Main.java:764)
at com.android.dx.command.dexer.Main.access$1500(Main.java:85)
at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)
at com.android.dx.command.dexer.Main.processClass(Main.java:749)
... 12 more
1 error; aborting
我尝试使用java 1.6,1.7进行编译,但问题仍然存在。 Gradle插件版本:1.5.0
我已经跟踪了其他SOF答案,但问题仍然存在。
答案 0 :(得分:1)
目前,Java驱动程序仅与Java 8兼容。请参阅此博客文章:
https://www.rethinkdb.com/blog/official-java-driver/
此外,关于该主题的GitHub问题:
https://github.com/rethinkdb/rethinkdb/issues/3930#issuecomment-94911187
主要原因是Java 8的官方要求是lambda支持。您可能需要通过打开GitHub issue来请求RethinkDB团队获得对Java 7(或更低版本)的额外支持。
然而,正如Daniel建议的那样,你可以试试这个Java(非官方)驱动程序: