我正在尝试从头开始创建一个Java客户端,并在gradle中引入firebase-client-jvm:2.2.1
。在尝试编译包含com.firebase.client.Firebase
类的任何内容时,我在堆栈跟踪中得到以下内容:
java.lang.RuntimeException: java.lang.NoClassDefFoundError: Unable to load class com.firebase.client.Firebase due to missing dependency android/content/Context
at org.codehaus.groovy.control.CompilationUnit.convertUncaughtExceptionToCompilationError(CompilationUnit.java:1083)
...
Caused by: java.lang.NoClassDefFoundError: Unable to load class com.firebase.client.Firebase due to missing dependency android/content/Context
我不想包含任何与Android相关的内容,而且我发现所有答案都表明firebase"支持" (即Get Firebase to work with java, not Android),但我不知道该如何开始。
我找不到在线的示例或教程,显示简单的"只支持Java的客户端,并且非常感谢任何"入门"帮助
更新:我不仅需要创建android.context.Context
类,还不得不放弃在Groovy中编写程序。当我将它切换回Java项目时,它似乎可以解决很多问题。
答案 0 :(得分:5)
这是使用JVM上的动态语言的Firebase库的已知错误。有一个简单的解决方法:在包Context
中创建一个空的虚拟类android.content
。该类不在运行时使用,但是类加载器期望它存在。
请参阅:https://groups.google.com/forum/#!msg/firebase-talk/XLbpLpqCdDI/ncuw32Xr-4YJ
答案 1 :(得分:0)
如果您使用的是Grails应用程序,则需要将其设为Java类(即src/main/java
)。如果您将其放在src/main/groovy
中,问题仍然存在。