I am trying to call some clojure code as an sbt task.
My build.sbt looks like
lazy val aTask = taskKey[Unit]("a task") libraryDependencies ++= Seq( "org.clojure" % "clojure" % "1.9.0" ) import clojure.java.api.Clojure import clojure.lang.IFn aTask := { val plus: IFn = Clojure.`var`("clojure.core", "+") println(plus.invoke(1, 4)) }
Project Content /build.sbt
resolvers += Resolver.mavenLocal libraryDependencies ++= Seq( "org.clojure" % "clojure" % "1.9.0" )
I also added clojure dep to project / build.sbt of my project.
When calling a task
The following error appears:
[error] java.lang.ExceptionInInitializerError [error] at clojure.lang.Namespace.<init>(Namespace.java:34) [error] at clojure.lang.Namespace.findOrCreate(Namespace.java:176) [error] at clojure.lang.Var.intern(Var.java:148) [error] at clojure.java.api.Clojure.var(Clojure.java:82) [error] at clojure.java.api.Clojure.<clinit>(Clojure.java:96) [error] at $2d5a9b65ddee7e6a09cc$.$anonfun$$sbtdef$1(build.sbt:20) [error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) [error] at sbt.std.Transform$$anon$3.$anonfun$apply$2(System.scala:46) [error] at sbt.std.Transform$$anon$4.work(System.scala:66) [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:262) [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16) [error] at sbt.Execute.work(Execute.scala:271) [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:262) [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:174) [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:36) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [error] at java.lang.Thread.run(Thread.java:748) [error] Caused by: java.io.FileNotFoundException: Could not locate clojure/core__init.class or clojure/core.clj on classpath. [error] at clojure.lang.RT.load(RT.java:463) [error] at clojure.lang.RT.load(RT.java:426) [error] at clojure.lang.RT.doInit(RT.java:468) [error] at clojure.lang.RT.<clinit>(RT.java:336)
Any pointers to what I could try would be helpful.
scala clojure sbt
shakdwipeea
source share