Help - I am doing something wrong (lein cljsbuild fails)

218 views
Skip to first unread message

Thomas

unread,
Sep 11, 2012, 2:54:42 PM9/11/12
to clo...@googlegroups.com
Dear all,

I wanted to give ClojureScript a try in combination with Noir so after reading the various descriptions on the interweb I came up with the following project.clj file:

(defproject xxxxx "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :license {:name "Eclipse Public License"
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [noir "1.2.2"]
                 [org.clojure/data.zip "0.1.1"]]
  :dev-dependencies [[lein-cljsbuild "0.2.7"]] ; cljsbuild plugin
  :cljsbuild
    {:builds
     [{:builds nil,
       :source-path "src-cljs",
       :compiler
       {:pretty-print true,
        :output-to "resources/public/js/cljs.js",
        :optimizations :simple}}]}
)


and when I run "lein cljsbuild once" (and auto mode as well) I get the following exception:

lein cljsbuild once
Compiling ClojureScript.
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate clojure/instant__init.class or clojure/instant.clj on classpath: 
at clojure.lang.Util.runtimeException(Util.java:165)
at clojure.lang.Compiler.eval(Compiler.java:6476)
at clojure.lang.Compiler.eval(Compiler.java:6455)
at clojure.lang.Compiler.load(Compiler.java:6902)
at clojure.lang.RT.loadResourceScript(RT.java:357)
at clojure.lang.RT.loadResourceScript(RT.java:348)
at clojure.lang.RT.load(RT.java:427)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$require.doInvoke(core.clj:5352)
at clojure.lang.RestFn.invoke(RestFn.java:457)
at cljs.compiler$eval113$loading__4505__auto____114.invoke(compiler.clj:11)
at cljs.compiler$eval113.invoke(compiler.clj:11)
at clojure.lang.Compiler.eval(Compiler.java:6465)
at clojure.lang.Compiler.eval(Compiler.java:6455)
at clojure.lang.Compiler.load(Compiler.java:6902)
at clojure.lang.RT.loadResourceScript(RT.java:357)
at clojure.lang.RT.loadResourceScript(RT.java:348)
at clojure.lang.RT.load(RT.java:427)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$require.doInvoke(core.clj:5352)
at clojure.lang.RestFn.invoke(RestFn.java:457)
at cljs.closure$eval105$loading__4505__auto____106.invoke(closure.clj:9)
at cljs.closure$eval105.invoke(closure.clj:9)
at clojure.lang.Compiler.eval(Compiler.java:6465)
at clojure.lang.Compiler.eval(Compiler.java:6455)
at clojure.lang.Compiler.load(Compiler.java:6902)
at clojure.lang.RT.loadResourceScript(RT.java:357)
at clojure.lang.RT.loadResourceScript(RT.java:348)
at clojure.lang.RT.load(RT.java:427)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:604)
at clojure.core$use.doInvoke(core.clj:5363)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at cljsbuild.compiler$eval5$loading__4505__auto____6.invoke(compiler.clj:1)
at cljsbuild.compiler$eval5.invoke(compiler.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6465)
at clojure.lang.Compiler.eval(Compiler.java:6455)
at clojure.lang.Compiler.load(Compiler.java:6902)
at clojure.lang.RT.loadResourceScript(RT.java:357)
at clojure.lang.RT.loadResourceScript(RT.java:348)
at clojure.lang.RT.load(RT.java:427)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$require.doInvoke(core.clj:5352)
at clojure.lang.RestFn.invoke(RestFn.java:436)
at user$eval1.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:6465)
at clojure.lang.Compiler.eval(Compiler.java:6454)
at clojure.lang.Compiler.eval(Compiler.java:6431)
at clojure.core$eval.invoke(core.clj:2795)
at clojure.main$eval_opt.invoke(main.clj:296)
at clojure.main$initialize.invoke(main.clj:315)
at clojure.main$null_opt.invoke(main.clj:348)
at clojure.main$main.doInvoke(main.clj:426)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:405)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.Var.applyTo(Var.java:518)
at clojure.main.main(main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate clojure/instant__init.class or clojure/instant.clj on classpath: 
at clojure.lang.RT.load(RT.java:430)
at clojure.lang.RT.load(RT.java:398)
at clojure.core$load$fn__4610.invoke(core.clj:5386)
at clojure.core$load.doInvoke(core.clj:5385)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5200)
at clojure.core$load_lib.doInvoke(core.clj:5237)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$load_libs.doInvoke(core.clj:5271)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:602)
at clojure.core$require.doInvoke(core.clj:5352)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at cljs.tagged_literals$eval119$loading__4505__auto____120.invoke(tagged_literals.clj:1)
at cljs.tagged_literals$eval119.invoke(tagged_literals.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6465)
... 95 more
Subprocess failed

having googled for this problem people who hit this in the past ran older versions of both Clojure and lein cljsbuild (I run the latest lein2)

Any ideas, help would be really appreciated!!!

Thanks,
Thomas

Thomas

unread,
Sep 11, 2012, 3:32:51 PM9/11/12
to clo...@googlegroups.com
I have just downloaded the lein cljsbuild from here: https://github.com/emezeske/lein-cljsbuild and build the simple project and that worked.... 

Then I build an uberjar from my project file and noticed that clojure 1.3.0 was included in it.... I suspect that is the problem ((Noir needs it apperently)... but how to work around it?


Thomas

James Reeves

unread,
Sep 11, 2012, 3:53:43 PM9/11/12
to clo...@googlegroups.com
On 11 September 2012 19:54, Thomas <th.van...@gmail.com> wrote:
> :dev-dependencies [[lein-cljsbuild "0.2.7"]] ; cljsbuild plugin

<snip>

> having googled for this problem people who hit this in the past ran older
> versions of both Clojure and lein cljsbuild (I run the latest lein2)

You should use :plugins for plugins. :dev-dependencies doesn't do
anything in Lein 2.

e.g. :plugins [[lein-cljsbuild "0.2.7"]]

This might solve your problem.

- James

Thomas

unread,
Sep 11, 2012, 4:50:20 PM9/11/12
to clo...@googlegroups.com, jre...@weavejester.com

You should use :plugins for plugins. :dev-dependencies doesn't do
anything in Lein 2.

e.g. :plugins [[lein-cljsbuild "0.2.7"]]

This might solve your problem.

Tried that as well, and it didn't work :(

Thomas 

Thomas

unread,
Sep 12, 2012, 4:11:32 PM9/12/12
to clo...@googlegroups.com, jre...@weavejester.com
Found the problem. I needed to update to the latest version of Noir ("1.3.0-beta10") and that solved my problem. 

Thanks everyone
Thomas
Reply all
Reply to author
Forward
0 new messages