我想在我的java应用程序中使用firebase admin。在网站上它说我可以通过gradle或maven添加它。但我不想这样做。相反,我从maven中央存储库网站下载了jar文件,并将其作为库添加到我的项目中。我添加了firebase指南部分中所述的代码并运行应用程序,我得到以下输出;
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
at error.myclass.main(myclass.java:17)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
所以我尝试添加库来解决问题,每次运行应用程序时我都会遇到另一个错误。这些是我目前添加的库:
com.google.guava_1.6.0.jar
firebase-admin-4.0.3.jar
google-api-client-1.4.1-beta.jar
google-api-client-gson-1.22.0.jar
google-api-java-client-ext.jar
google-http-client-1.16.0-rc.jar
java-json.jar
现在唯一的错误是:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.api.client.json.gson.GsonFactory.getDefaultInstance()Lcom/google/api/client/json/gson/GsonFactory;
at com.google.firebase.FirebaseOptions$Builder.setServiceAccount(FirebaseOptions.java:76)
at MyClass.cool.main(cool.java:18)
我已正确添加了所有库,因此我不明白为什么这不起作用。所以我的问题是如何在不使用gradle或maven的情况下成功地将firebase管理员添加到eclipse中的java项目中。
答案 0 :(得分:1)
在我的例子中,JSON-java-1.4.jar似乎工作而不是java-json.jar。 你可以从JSON-java in GitHub git克隆。
答案 1 :(得分:1)
我最终学习了如何使用Maven,当您了解如何正确设置项目并访问pom.xml文件时,这实际上很简单。当我导出项目(带有库)时,所需的所有必需的jar都在我在dropbox上链接的文件夹中。
链接:Dropbox - Firebase Admin Jars (August 2017)
图书馆名称:
请注意,链接的文件不太可能更新,因此我建议使用Maven,它应该根据pom.xml文件中的版本号下载所有正确的库。