Search code examples
javafirebasemavenleiningenfirebase-admin

Not finding Firebase jars in Google Maven repo in Leiningen project


I have a Clojure project using Leiningen that needs access to the Firebase Admin SDK. So I'm trying to use the Java version from Google's Maven. What ends up happening when I run lein repl is it starts to download all of the requirements for that particular jar but then crashes with the following error(s):

Could not find artifact com.google.firebase:firebase-database:jar:19.0.2 in central (https://repo1.maven.org/maven2/)
Could not find artifact com.google.firebase:firebase-database:jar:19.0.2 in clojars (https://repo.clojars.org/)
Could not find artifact com.google.firebase:firebase-database:jar:19.0.2 in google (https://maven.google.com/)
This could be due to a typo in :dependencies, file system permissions, or network issues.
If you are behind a proxy, try setting the 'http_proxy' environment variable.
Exception in thread "Thread-1" clojure.lang.ExceptionInfo: Could not resolve dependencies {:suppress-msg true, :exit-code 1}
    at clojure.core$ex_info.invokeStatic(core.clj:4617)
    at clojure.core$ex_info.invoke(core.clj:4617)
    at leiningen.core.classpath$get_dependencies_STAR_.invokeStatic(classpath.clj:311)
    at leiningen.core.classpath$get_dependencies_STAR_.invoke(classpath.clj:265)
    at clojure.lang.AFn.applyToHelper(AFn.java:165)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:646)
    at clojure.core$apply.invoke(core.clj:641)
    at clojure.core$memoize$fn__14312.doInvoke(core.clj:6109)
    at clojure.lang.RestFn.invoke(RestFn.java:457)
    at leiningen.core.classpath$get_dependencies$fn__9133.invoke(classpath.clj:332)
    at leiningen.core.classpath$get_dependencies.invokeStatic(classpath.clj:330)
    at leiningen.core.classpath$get_dependencies.doInvoke(classpath.clj:324)
    at clojure.lang.RestFn.invoke(RestFn.java:445)
    at clojure.lang.AFn.applyToHelper(AFn.java:160)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.core$apply.invokeStatic(core.clj:652)
    at clojure.core$apply.invoke(core.clj:641)
    at leiningen.core.classpath$resolve_managed_dependencies.invokeStatic(classpath.clj:441)
    at leiningen.core.classpath$resolve_managed_dependencies.doInvoke(classpath.clj:428)
    at clojure.lang.RestFn.invoke(RestFn.java:445)
    at leiningen.core.eval$prep.invokeStatic(eval.clj:85)
    at leiningen.core.eval$prep.invoke(eval.clj:73)
    at leiningen.core.eval$eval_in_project.invokeStatic(eval.clj:362)
    at leiningen.core.eval$eval_in_project.invoke(eval.clj:356)
    at leiningen.repl$server$fn__12516.invoke(repl.clj:244)
    at clojure.lang.AFn.applyToHelper(AFn.java:152)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.core$apply.invokeStatic(core.clj:646)
    at clojure.core$apply.invoke(core.clj:641)
    at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1890)
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1881)
    at clojure.lang.RestFn.invoke(RestFn.java:425)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.core$apply.invokeStatic(core.clj:650)
    at clojure.core$apply.invoke(core.clj:641)
    at clojure.core$bound_fn_STAR_$fn__13275.doInvoke(core.clj:1912)
    at clojure.lang.RestFn.invoke(RestFn.java:397)
    at clojure.lang.AFn.run(AFn.java:22)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact com.google.firebase:firebase-database:jar:19.0.2 in central (https://repo1.maven.org/maven2/)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:355)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
    at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
    at cemerick.pomegranate.aether$resolve_dependencies_STAR_.invokeStatic(aether.clj:806)
    at cemerick.pomegranate.aether$resolve_dependencies_STAR_.doInvoke(aether.clj:707)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:646)
    at clojure.core$apply.invoke(core.clj:641)
    at cemerick.pomegranate.aether$resolve_dependencies.invokeStatic(aether.clj:815)
    at cemerick.pomegranate.aether$resolve_dependencies.doInvoke(aether.clj:809)
    at clojure.lang.RestFn.invoke(RestFn.java:2793)
    at leiningen.core.classpath$get_dependencies_STAR_.invokeStatic(classpath.clj:273)
    ... 38 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact com.google.firebase:firebase-database:jar:19.0.2 in central (https://repo1.maven.org/maven2/)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:422)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:224)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:338)
    ... 53 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.google.firebase:firebase-database:jar:19.0.2 in central (https://repo1.maven.org/maven2/)
    at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:365)
    at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:583)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:259)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:498)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:399)
    ... 55 more

My project.clj is as follows:

(defproject xxxxx "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.9.0"]
                 [http-kit "2.3.0"]
                 [datascript "0.18.7"]
                 [com.google.firebase/firebase-database "19.0.2"]]
  :main ^:skip-aot xxxxx.xx
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}}
  :repositories [["google" "https://maven.google.com/"]])

Actual project name has been replaced with x's of course.

Any ideas of what this problem could be? I'm on Ubuntu 18.04 by the way.


Solution

  • com.google.firebase:firebase-database:jar:19.0.2 is not the dependency for the Firebase Admin SDK. That's the Firebase Realtime Database Android client SDK.

    As shown in the documentation, the latest version of the Firebase Admin SDK for Java is com.google.firebase:firebase-admin:6.11.0.