Working from https://github.com/cloojure/cljs-figwheel-stripped I could reproduce the issue Alan was seeing with Java 9. Looking at the dependency tree, I could see that http-kit 2.2.0 was being pulled in by figwheel-sidecar. http-kit 2.3.0 doesn't depend on the java.xml.bind module any more, so using that should fix the issue.
To do so, you can either: * Add http-kit 2.3.0 to your dependencies to override the version that Figwheel 0.5.15 pulls in * Upgrade to Figwheel 0.5.16, which was released in the last few hours. This version uses http-kit 2.3.0. Both of these options should work for starting up a Figwheel repl using ClojureScript 1.10 and Java 9, without adding any modules. I was able to do so on my machine after removing Alan's (clever) :jvm-opts evaling. -- Daniel. On Sat, May 5, 2018 at 12:16 AM Johannes <[email protected]> wrote: > I've learned from Daniel Compton (in this discussion) > > Yep this is a ClojureScript issue. I wrote more about this here >> https://www.deps.co/blog/how-to-upgrade-clojure-projects-to-use-java-9/. >> Until ClojureScript 1.10, you need to add: >> :jvm-opts ["--add-modules" "java.xml.bind"] >> to your Leiningen config. > > > that this kind of workaround will become unnecessary with ClojureScript > 1.10. That does not seem to be the case. > > Johannes > > Am Freitag, 4. Mai 2018 08:48:10 UTC+2 schrieb Alan Thompson: > >> Cleaned it up a little: >> >> :jvm-opts #=(eval (into ["-Xmx1g"] >> (let [version-str (System/getProperty >> "java.version")] >> (if (or (= "10" version-str) (re-find #"^9\." >> version-str)) >> ["--add-modules" "java.xml.bind"] ; needed for >> java 9 or 10 >> [])))) ; java 8 or below >> >> >> >> >> On Thu, May 3, 2018 at 11:37 PM, Alan Thompson <[email protected]> wrote: >> > I created a little lein dynamic eval code to automatically handle the >>> :jvm-opts stuff for Java 8/9/10: >>> >>> :jvm-opts #=(eval (let [version-str (System/getProperty "java.version")] >>> (cond >>> (re-find #"^9\." version-str) ["-Xmx1g" >>> "--add-modules" "java.xml.bind"] >>> (= "10" version-str) ["-Xmx1g" >>> "--add-modules" "java.xml.bind"] >>> :else ["-Xmx1g"]))) >>> >>> >>> >>> >>> On Thu, May 3, 2018 at 8:45 PM, Alan Thompson <[email protected]> wrote: >>> >> I just tried it with Java 10. I get the same error as for Java 9, and it >>>> has the same fix: >>>> >>>> :jvm-opts ["-Xmx1g" "--add-modules" "java.xml.bind"]) >>>> >>>> >>>> This is with >>>> >>>> :dependencies [[org.clojure/clojure "1.9.0"] >>>> [org.clojure/clojurescript "1.10.238"] ] >>>> :plugins [[lein-cljsbuild "1.1.7" :exclusions [[org.clojure/clojure]]] >>>> [lein-figwheel "0.5.15"] ] >>>> >>>> >>>> So one of those dependencies is still not cool with java 9/10. >>>> >>>> Clojure itself works fine on Java 10 (just tested). >>>> >>>> The stacktrace mentiones both http-kit and >>>> figwheel-sidecar/figwheel-server.... not sure who the culprit is (or >>>> clojurescript 1.10.238 ?) >>>> Alan >>>> >>>> >>>> On Thu, May 3, 2018 at 8:22 PM, Alan Thompson <[email protected]> >>>> wrote: >>>> >>> Hmmm, OK, I just noticed I am on JVM 1.8. If I switch to java 9, I get >>>>> the same error as you. >>>>> >>>> >>>>> On Thu, May 3, 2018 at 4:36 PM, Johannes <[email protected]> >>>>> wrote: >>>>> >>>>>> I'm sorry, but I get the same stack trace as before. And again: if I >>>>>> modify the :jvm-opts >>>>>> >>>>>> :jvm-opts ["-Xmx1g" "--add-modules" "java.xml.bind"] >>>>>> >>>>>> all works fine. >>>>>> >>>>>> Johannes >>>>>> >>>>>> Am Freitag, 4. Mai 2018 00:08:48 UTC+2 schrieb Alan Thompson: >>>>>>> >>>>>>> OK, I made a super-stripped down version to remove possible config >>>>>>> problems. Try this: >>>>>>> >>>>>>> https://github.com/cloojure/cljs-figwheel-stripped.git >>>>>>> >>>>>>> >>>>>>> >>>>>>> Alan >>>>>>> >>>>>>> On Thu, May 3, 2018 at 1:56 PM, Johannes <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Am Donnerstag, 3. Mai 2018 22:51:33 UTC+2 schrieb Alan Thompson: >>>>>>>>> >>>>>>>>> And what happens if you type `lein figwheel` ? >>>>>>>>> >>>>>>>> The same problem as before: >>>>>>>> >>>>>>>> JohMBAir:cljs-template-master johannes$ lein figwheel >>>>>>>> >>>>>>>> Figwheel: Cutting some fruit, just a sec ... >>>>>>>> >>>>>>>> Exception in thread "main" java.lang.ExceptionInInitializerError >>>>>>>> >>>>>>>> at clojure.main.<clinit>(main.java:20) >>>>>>>> >>>>>>>> Caused by: java.lang.ClassNotFoundException: >>>>>>>> javax.xml.bind.DatatypeConverter, >>>>>>>> compiling:(org/httpkit/server.clj:1:1) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7526) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:379) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:370) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:460) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:426) >>>>>>>> >>>>>>>> at clojure.core$load$fn__6548.invoke(core.clj:6046) >>>>>>>> >>>>>>>> at clojure.core$load.invokeStatic(core.clj:6045) >>>>>>>> >>>>>>>> at clojure.core$load.doInvoke(core.clj:6029) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:408) >>>>>>>> >>>>>>>> at clojure.core$load_one.invokeStatic(core.clj:5848) >>>>>>>> >>>>>>>> at clojure.core$load_one.invoke(core.clj:5843) >>>>>>>> >>>>>>>> at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) >>>>>>>> >>>>>>>> at clojure.core$load_lib.invokeStatic(core.clj:5887) >>>>>>>> >>>>>>>> at clojure.core$load_lib.doInvoke(core.clj:5868) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:142) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$load_libs.invokeStatic(core.clj:5925) >>>>>>>> >>>>>>>> at clojure.core$load_libs.doInvoke(core.clj:5909) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:137) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$require.invokeStatic(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.core$require.doInvoke(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:1789) >>>>>>>> >>>>>>>> at figwheel_sidecar.components.fi >>>>>>>> gwheel_server$eval18306$loading__6434__auto____18307.invoke(figwheel_server.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.components.fi >>>>>>>> gwheel_server$eval18306.invokeStatic(figwheel_server.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.components.fi >>>>>>>> gwheel_server$eval18306.invoke(figwheel_server.clj:1) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7062) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7051) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7514) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:379) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:370) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:460) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:426) >>>>>>>> >>>>>>>> at clojure.core$load$fn__6548.invoke(core.clj:6046) >>>>>>>> >>>>>>>> at clojure.core$load.invokeStatic(core.clj:6045) >>>>>>>> >>>>>>>> at clojure.core$load.doInvoke(core.clj:6029) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:408) >>>>>>>> >>>>>>>> at clojure.core$load_one.invokeStatic(core.clj:5848) >>>>>>>> >>>>>>>> at clojure.core$load_one.invoke(core.clj:5843) >>>>>>>> >>>>>>>> at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) >>>>>>>> >>>>>>>> at clojure.core$load_lib.invokeStatic(core.clj:5887) >>>>>>>> >>>>>>>> at clojure.core$load_lib.doInvoke(core.clj:5868) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:142) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$load_libs.invokeStatic(core.clj:5925) >>>>>>>> >>>>>>>> at clojure.core$load_libs.doInvoke(core.clj:5909) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:137) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$require.invokeStatic(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.core$require.doInvoke(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:1789) >>>>>>>> >>>>>>>> at >>>>>>>> figwheel_sidecar.repl$eval9100$loading__6434__auto____9101.invoke(repl.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.repl$eval9100.invokeStatic(repl.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.repl$eval9100.invoke(repl.clj:1) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7062) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7051) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7514) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:379) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:370) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:460) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:426) >>>>>>>> >>>>>>>> at clojure.core$load$fn__6548.invoke(core.clj:6046) >>>>>>>> >>>>>>>> at clojure.core$load.invokeStatic(core.clj:6045) >>>>>>>> >>>>>>>> at clojure.core$load.doInvoke(core.clj:6029) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:408) >>>>>>>> >>>>>>>> at clojure.core$load_one.invokeStatic(core.clj:5848) >>>>>>>> >>>>>>>> at clojure.core$load_one.invoke(core.clj:5843) >>>>>>>> >>>>>>>> at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) >>>>>>>> >>>>>>>> at clojure.core$load_lib.invokeStatic(core.clj:5887) >>>>>>>> >>>>>>>> at clojure.core$load_lib.doInvoke(core.clj:5868) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:142) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$load_libs.invokeStatic(core.clj:5925) >>>>>>>> >>>>>>>> at clojure.core$load_libs.doInvoke(core.clj:5909) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:137) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$require.invokeStatic(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.core$require.doInvoke(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:1789) >>>>>>>> >>>>>>>> at >>>>>>>> figwheel_sidecar.system$eval9094$loading__6434__auto____9095.invoke(system.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.system$eval9094.invokeStatic(system.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.system$eval9094.invoke(system.clj:1) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7062) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7051) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7514) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:379) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:370) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:460) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:426) >>>>>>>> >>>>>>>> at clojure.core$load$fn__6548.invoke(core.clj:6046) >>>>>>>> >>>>>>>> at clojure.core$load.invokeStatic(core.clj:6045) >>>>>>>> >>>>>>>> at clojure.core$load.doInvoke(core.clj:6029) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:408) >>>>>>>> >>>>>>>> at clojure.core$load_one.invokeStatic(core.clj:5848) >>>>>>>> >>>>>>>> at clojure.core$load_one.invoke(core.clj:5843) >>>>>>>> >>>>>>>> at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) >>>>>>>> >>>>>>>> at clojure.core$load_lib.invokeStatic(core.clj:5887) >>>>>>>> >>>>>>>> at clojure.core$load_lib.doInvoke(core.clj:5868) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:142) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$load_libs.invokeStatic(core.clj:5925) >>>>>>>> >>>>>>>> at clojure.core$load_libs.doInvoke(core.clj:5909) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:137) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$require.invokeStatic(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.core$require.doInvoke(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:930) >>>>>>>> >>>>>>>> at >>>>>>>> figwheel_sidecar.repl_api$eval19$loading__6434__auto____20.invoke(repl_api.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.repl_api$eval19.invokeStatic(repl_api.clj:1) >>>>>>>> >>>>>>>> at figwheel_sidecar.repl_api$eval19.invoke(repl_api.clj:1) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7062) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7051) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7514) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:379) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:370) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:460) >>>>>>>> >>>>>>>> at clojure.lang.RT.load(RT.java:426) >>>>>>>> >>>>>>>> at clojure.core$load$fn__6548.invoke(core.clj:6046) >>>>>>>> >>>>>>>> at clojure.core$load.invokeStatic(core.clj:6045) >>>>>>>> >>>>>>>> at clojure.core$load.doInvoke(core.clj:6029) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:408) >>>>>>>> >>>>>>>> at clojure.core$load_one.invokeStatic(core.clj:5848) >>>>>>>> >>>>>>>> at clojure.core$load_one.invoke(core.clj:5843) >>>>>>>> >>>>>>>> at clojure.core$load_lib$fn__6493.invoke(core.clj:5888) >>>>>>>> >>>>>>>> at clojure.core$load_lib.invokeStatic(core.clj:5887) >>>>>>>> >>>>>>>> at clojure.core$load_lib.doInvoke(core.clj:5868) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:142) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$load_libs.invokeStatic(core.clj:5925) >>>>>>>> >>>>>>>> at clojure.core$load_libs.doInvoke(core.clj:5909) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.applyTo(RestFn.java:137) >>>>>>>> >>>>>>>> at clojure.core$apply.invokeStatic(core.clj:659) >>>>>>>> >>>>>>>> at clojure.core$require.invokeStatic(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.core$require.doInvoke(core.clj:5947) >>>>>>>> >>>>>>>> at clojure.lang.RestFn.invoke(RestFn.java:408) >>>>>>>> >>>>>>>> at user$eval13$loading__6434__auto____14.invoke(user.clj:1) >>>>>>>> >>>>>>>> at user$eval13.invokeStatic(user.clj:1) >>>>>>>> >>>>>>>> at user$eval13.invoke(user.clj:1) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7062) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7051) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7514) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:379) >>>>>>>> >>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:366) >>>>>>>> >>>>>>>> at clojure.lang.RT.maybeLoadResourceScript(RT.java:362) >>>>>>>> >>>>>>>> at clojure.lang.RT.doInit(RT.java:482) >>>>>>>> >>>>>>>> at clojure.lang.RT.<clinit>(RT.java:336) >>>>>>>> >>>>>>>> ... 1 more >>>>>>>> >>>>>>>> Caused by: java.lang.ClassNotFoundException: >>>>>>>> javax.xml.bind.DatatypeConverter >>>>>>>> >>>>>>>> at java.base/java.net >>>>>>>> .URLClassLoader.findClass(URLClassLoader.java:466) >>>>>>>> >>>>>>>> at >>>>>>>> clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69) >>>>>>>> >>>>>>>> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:563) >>>>>>>> >>>>>>>> at >>>>>>>> clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77) >>>>>>>> >>>>>>>> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496) >>>>>>>> >>>>>>>> at java.base/java.lang.Class.forName0(Native Method) >>>>>>>> >>>>>>>> at java.base/java.lang.Class.forName(Class.java:375) >>>>>>>> >>>>>>>> at clojure.lang.RT.classForName(RT.java:2204) >>>>>>>> >>>>>>>> at clojure.lang.RT.classForNameNonLoading(RT.java:2217) >>>>>>>> >>>>>>>> at org.httpkit.server$eval18583$loading__6434__auto____18584.in >>>>>>>> voke(server.clj:1) >>>>>>>> >>>>>>>> at org.httpkit.server$eval18583.invokeStatic(server.clj:1) >>>>>>>> >>>>>>>> at org.httpkit.server$eval18583.invoke(server.clj:1) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7062) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.eval(Compiler.java:7051) >>>>>>>> >>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7514) >>>>>>>> >>>>>>>> ... 146 more >>>>>>>> >>>>>>>> Johannes >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, May 3, 2018 at 1:42 PM, Johannes <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Am Donnerstag, 3. Mai 2018 22:28:29 UTC+2 schrieb Alan Thompson: >>>>>>>>>>> >>>>>>>>>>> That looks good. Can you verify it matches what is in >>>>>>>>>>> `project.clj`? >>>>>>>>>>> >>>>>>>>>> Yes, I think it does. That's the downloaded project.clj: >>>>>>>>>> (defproject flintstones "0.1.0-SNAPSHOT" >>>>>>>>>> :min-lein-version "2.7.1" >>>>>>>>>> :dependencies [[org.clojure/clojure "1.9.0"] >>>>>>>>>> [org.clojure/clojurescript "1.10.238"] >>>>>>>>>> [org.clojure/core.async "0.4.474"] >>>>>>>>>> [tupelo "0.9.76"] >>>>>>>>>> ] >>>>>>>>>> :plugins [[lein-cljsbuild "1.1.7" :exclusions >>>>>>>>>> [[org.clojure/clojure]]] >>>>>>>>>> [lein-figwheel "0.5.15"] >>>>>>>>>> [lein-doo "0.1.10"]] >>>>>>>>>> >>>>>>>>>> :doo {:karma {:config {"plugins" ["karma-junit-reporter"] >>>>>>>>>> "reporters" ["progress" "junit"] >>>>>>>>>> "junitReporter" {"outputDir" >>>>>>>>>> "target/test-results"}}} >>>>>>>>>> :paths {:karma "node_modules/karma/bin/karma" >>>>>>>>>> :phantom "node_modules/phantomjs/bin/phantomjs" }} >>>>>>>>>> :source-paths ["src"] >>>>>>>>>> :cljsbuild {:builds >>>>>>>>>> [{:id "dev" >>>>>>>>>> :source-paths ["src"] >>>>>>>>>> ;; The presence of a :figwheel configuration here >>>>>>>>>> will cause figwheel to inject the >>>>>>>>>> ;; figwheel client into your build >>>>>>>>>> :figwheel {:on-jsload >>>>>>>>>> "flintstones.core/on-js-reload" >>>>>>>>>> ;; :open-urls will pop open your >>>>>>>>>> application in the default browser once >>>>>>>>>> ;; Figwheel has started and >>>>>>>>>> compiled your application. Comment this out >>>>>>>>>> ;; once it no longer serves you. >>>>>>>>>> :open-urls [" >>>>>>>>>> http://localhost:3449/index.html"]} >>>>>>>>>> :compiler {:main >>>>>>>>>> flintstones.core >>>>>>>>>> :optimizations :none >>>>>>>>>> :libs >>>>>>>>>> ["resources/public/libs"] ; recursive includes all children >>>>>>>>>> >>>>>>>>>> :foreign-libs [{:file >>>>>>>>>> "dino.js" >>>>>>>>>> :provides >>>>>>>>>> ["dinoPhony"]}] >>>>>>>>>> :externs >>>>>>>>>> ["dino-externs.js"] >>>>>>>>>> >>>>>>>>>> :output-to >>>>>>>>>> "resources/public/js/compiled/flintstones.js" >>>>>>>>>> :output-dir >>>>>>>>>> "resources/public/js/compiled/flintstones-dev" >>>>>>>>>> :asset-path >>>>>>>>>> "js/compiled/flintstones-dev" ; rel to figwheel default of >>>>>>>>>> `resources/public` >>>>>>>>>> ; ^^^ >>>>>>>>>> must match :output-dir >>>>>>>>>> :source-map-timestamp true >>>>>>>>>> ;; To console.log CLJS >>>>>>>>>> data-structures make sure you enable devtools in Chrome >>>>>>>>>> ;; >>>>>>>>>> https://github.com/binaryage/cljs-devtools >>>>>>>>>> :preloads >>>>>>>>>> [devtools.preload]}} >>>>>>>>>> >>>>>>>>>> {:id "test" >>>>>>>>>> :source-paths ["src" "test"] >>>>>>>>>> :compiler {:main >>>>>>>>>> tst.flintstones.doorunner >>>>>>>>>> :optimizations :none ; >>>>>>>>>> :advanced >>>>>>>>>> :libs >>>>>>>>>> ["resources/public/libs"] ; recursive includes all children >>>>>>>>>> >>>>>>>>>> :foreign-libs [{:file >>>>>>>>>> "dino.js" >>>>>>>>>> :provides >>>>>>>>>> ["dinoPhony"]}] >>>>>>>>>> :externs >>>>>>>>>> ["dino-externs.js"] >>>>>>>>>> >>>>>>>>>> :output-to >>>>>>>>>> "resources/public/js/compiled/bedrock.js" >>>>>>>>>> :output-dir >>>>>>>>>> "resources/public/js/compiled/bedrock-tst" >>>>>>>>>> ;:asset-path >>>>>>>>>> "js/compiled/bedrock-tst" ; rel to figwheel default of >>>>>>>>>> `resources/public` >>>>>>>>>> >>>>>>>>>> :source-map-timestamp true}}]} >>>>>>>>>> >>>>>>>>>> :profiles {:dev {:dependencies [[binaryage/devtools "0.9.9"] >>>>>>>>>> [figwheel-sidecar "0.5.15"] >>>>>>>>>> [com.cemerick/piggieback >>>>>>>>>> "0.2.2"]] >>>>>>>>>> ;; need to add dev source path here to get >>>>>>>>>> user.clj loaded >>>>>>>>>> :source-paths ["src" "dev"] >>>>>>>>>> ;; for CIDER >>>>>>>>>> ;; :plugins [[cider/cider-nrepl "0.12.0"]] >>>>>>>>>> :repl-options {:nrepl-middleware >>>>>>>>>> [cemerick.piggieback/wrap-cljs-repl]} >>>>>>>>>> ;; need to add the compliled assets to the >>>>>>>>>> :clean-targets >>>>>>>>>> :clean-targets ^{:protect false} >>>>>>>>>> ["resources/public/js/compiled" >>>>>>>>>> "out" >>>>>>>>>> >>>>>>>>>> :target-path]}} >>>>>>>>>> >>>>>>>>>> :jvm-opts ["-Xmx1g"]) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Also, try `lein --version` or type `lein repl` to verify the >>>>>>>>>>> same stuff is found. >>>>>>>>>>> >>>>>>>>>> JohMBAir:piggi johannes$ lein -version >>>>>>>>>> >>>>>>>>>> Leiningen 2.8.1 on Java 9.0.1 Java HotSpot(TM) 64-Bit Server VM >>>>>>>>>> >>>>>>>>>> JohMBAir:piggi johannes$ lein repl >>>>>>>>>> >>>>>>>>>> nREPL server started on port 57650 on host 127.0.0.1 - nrepl:// >>>>>>>>>> 127.0.0.1:57650 >>>>>>>>>> >>>>>>>>>> REPL-y 0.3.7, nREPL 0.2.13 >>>>>>>>>> >>>>>>>>>> Clojure 1.9.0 >>>>>>>>>> >>>>>>>>>> Java HotSpot(TM) 64-Bit Server VM 9.0.1+11 >>>>>>>>>> >>>>>>>>>> Docs: (doc function-name-here) >>>>>>>>>> >>>>>>>>>> (find-doc "part-of-name-here") >>>>>>>>>> >>>>>>>>>> Source: (source function-name-here) >>>>>>>>>> >>>>>>>>>> Javadoc: (javadoc java-object-or-class-here) >>>>>>>>>> >>>>>>>>>> Exit: Control+D or (exit) or (quit) >>>>>>>>>> >>>>>>>>>> Results: Stored in vars *1, *2, *3, an exception in *e >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> user=> >>>>>>>>>> >>>>>>>>>> Johannes >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> On Wed, May 2, 2018 at 3:00 PM, Johannes <[email protected] >>>>>>>>>>> > wrote: >>>>>>>>>>> >>>>>>>>>>>> I am not sure if this is what you want to see: >>>>>>>>>>>> >>>>>>>>>>>> JohMBAir:hello-world johannes$ clj --main cljs.main --compile >>>>>>>>>>>> hello-world.core --repl >>>>>>>>>>>> >>>>>>>>>>>> ClojureScript 1.10.238 >>>>>>>>>>>> >>>>>>>>>>>> cljs.user=> ^D >>>>>>>>>>>> >>>>>>>>>>>> JohMBAir:hello-world johannes$ clj >>>>>>>>>>>> >>>>>>>>>>>> Clojure 1.9.0 >>>>>>>>>>>> >>>>>>>>>>>> user=> ^D >>>>>>>>>>>> >>>>>>>>>>>> JohMBAir:hello-world johannes$ java --version >>>>>>>>>>>> >>>>>>>>>>>> java 9.0.1 >>>>>>>>>>>> >>>>>>>>>>>> Java(TM) SE Runtime Environment (build 9.0.1+11) >>>>>>>>>>>> >>>>>>>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode) >>>>>>>>>>>> >>>>>>>>>>>> Am Mittwoch, 2. Mai 2018 21:05:09 UTC+2 schrieb Alan Thompson: >>>>>>>>>>>>> >>>>>>>>>>>>> Can you verify versions for Java, Clojure, & ClojureScript? >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, Apr 30, 2018 at 6:34 AM, Johannes < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hm, I downloaded your profile.clj, and with >>>>>>>>>>>>>> >>>>>>>>>>>>>> lein figwheel >>>>>>>>>>>>>> >>>>>>>>>>>>>> I get the known error: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Figwheel: Cutting some fruit, just a sec ... >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving tupelo/tupelo/0.9.76/tupelo-0.9.76.pom from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> clojure-csv/clojure-csv/2.0.2/clojure-csv-2.0.2.pom from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving criterium/criterium/0.4.4/criterium-0.4.4.pom from >>>>>>>>>>>>>> clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving danlentz/clj-uuid/0.1.7/clj-uuid-0.1.7.pom from >>>>>>>>>>>>>> clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> primitive-math/primitive-math/0.1.4/primitive-math-0.1.4.pom >>>>>>>>>>>>>> from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving enlive/enlive/1.1.6/enlive-1.1.6.pom from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> org/clojure/core.match/0.3.0-alpha4/core.match-0.3.0-alpha4.pom >>>>>>>>>>>>>> from central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> org/clojure/tools.analyzer.jvm/0.6.5/tools.analyzer.jvm-0.6.5.pom >>>>>>>>>>>>>> from >>>>>>>>>>>>>> central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> org/clojure/tools.analyzer/0.6.4/tools.analyzer-0.6.4.pom from >>>>>>>>>>>>>> central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> org/clojure/tools.reader/0.8.12/tools.reader-0.8.12.pom from >>>>>>>>>>>>>> central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> org/clojure/math.combinatorics/0.1.4/math.combinatorics-0.1.4.pom >>>>>>>>>>>>>> from >>>>>>>>>>>>>> central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving prismatic/schema/1.1.7/schema-1.1.7.pom from >>>>>>>>>>>>>> clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> com/fasterxml/jackson/core/jackson-core/2.9.0/jackson-core-2.9.0.jar >>>>>>>>>>>>>> from >>>>>>>>>>>>>> central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.9.0/jackson-dataformat-smile-2.9.0.jar >>>>>>>>>>>>>> from central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.9.0/jackson-dataformat-cbor-2.9.0.jar >>>>>>>>>>>>>> from central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> org/clojure/math.combinatorics/0.1.4/math.combinatorics-0.1.4.jar >>>>>>>>>>>>>> from >>>>>>>>>>>>>> central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> org/clojure/core.match/0.3.0-alpha4/core.match-0.3.0-alpha4.jar >>>>>>>>>>>>>> from central >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving cheshire/cheshire/5.8.0/cheshire-5.8.0.jar from >>>>>>>>>>>>>> clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> clojure-csv/clojure-csv/2.0.2/clojure-csv-2.0.2.jar from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving danlentz/clj-uuid/0.1.7/clj-uuid-0.1.7.jar from >>>>>>>>>>>>>> clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving criterium/criterium/0.4.4/criterium-0.4.4.jar from >>>>>>>>>>>>>> clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving tupelo/tupelo/0.9.76/tupelo-0.9.76.jar from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving enlive/enlive/1.1.6/enlive-1.1.6.jar from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving >>>>>>>>>>>>>> primitive-math/primitive-math/0.1.4/primitive-math-0.1.4.jar >>>>>>>>>>>>>> from clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Retrieving prismatic/schema/1.1.7/schema-1.1.7.jar from >>>>>>>>>>>>>> clojars >>>>>>>>>>>>>> >>>>>>>>>>>>>> Exception in thread "main" java.lang.ClassNotFoundException: >>>>>>>>>>>>>> javax.xml.bind.DatatypeConverter, >>>>>>>>>>>>>> compiling:(org/httpkit/server.clj:1:1) >>>>>>>>>>>>>> >>>>>>>>>>>>>> at clojure.lang.Compiler.load(Compiler.java:7526) >>>>>>>>>>>>>> >>>>>>>>>>>>>> at clojure.lang.RT.loadResourceScript(RT.java:379) >>>>>>>>>>>>>> >>>>>>>>>>>>>> ... >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Am Montag, 30. April 2018 02:46:34 UTC+2 schrieb Alan >>>>>>>>>>>>>> Thompson: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> I am not including `--add-modules` in my template project >>>>>>>>>>>>>>> <https://github.com/cloojure/cljs-template.git> and it >>>>>>>>>>>>>>> works great: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> (defproject flintstones "0.1.0-SNAPSHOT" >>>>>>>>>>>>>>> :min-lein-version "2.7.1" >>>>>>>>>>>>>>> :dependencies [[org.clojure/clojure "1.9.0"] >>>>>>>>>>>>>>> [org.clojure/clojurescript "1.10.238"] >>>>>>>>>>>>>>> [org.clojure/core.async "0.4.474"] >>>>>>>>>>>>>>> [tupelo "0.9.76"] >>>>>>>>>>>>>>> ] >>>>>>>>>>>>>>> :plugins [[lein-cljsbuild "1.1.7" :exclusions >>>>>>>>>>>>>>> [[org.clojure/clojure]]] >>>>>>>>>>>>>>> [lein-figwheel "0.5.15"] >>>>>>>>>>>>>>> [lein-doo "0.1.10"]] >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> --------------------------- >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> ~/expr/cljs-template > lein figwheel >>>>>>>>>>>>>>> Figwheel: Cutting some fruit, just a sec ... >>>>>>>>>>>>>>> Figwheel: Validating the configuration found in project.clj >>>>>>>>>>>>>>> Figwheel: Configuration Valid ;) >>>>>>>>>>>>>>> Figwheel: Starting server at http://0.0.0.0:3449 >>>>>>>>>>>>>>> Figwheel: Watching build - dev >>>>>>>>>>>>>>> Compiling build :dev to >>>>>>>>>>>>>>> "resources/public/js/compiled/flintstones.js" from ["src"]... >>>>>>>>>>>>>>> Successfully compiled build :dev to >>>>>>>>>>>>>>> "resources/public/js/compiled/flintstones.js" in 0.908 seconds. >>>>>>>>>>>>>>> Launching ClojureScript REPL for build: dev >>>>>>>>>>>>>>> ... >>>>>>>>>>>>>>> Exit: :cljs/quit >>>>>>>>>>>>>>> Results: Stored in vars *1, *2, *3, *e holds last exception >>>>>>>>>>>>>>> object >>>>>>>>>>>>>>> Prompt will show when Figwheel connects to your application >>>>>>>>>>>>>>> [Rebel readline] Type :repl/help for online help info >>>>>>>>>>>>>>> ClojureScript 1.10.238 >>>>>>>>>>>>>>> dev:cljs.user!{:conn 2}=> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Apr 26, 2018 at 2:53 AM, Johannes < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I've learned from several discussions ( >>>>>>>>>>>>>>>> https://github.com/bhauman/lein-figwheel/issues/612) that >>>>>>>>>>>>>>>> the problem was ClojureScript 1.9 and that one should use the >>>>>>>>>>>>>>>> tag :jvm-opts >>>>>>>>>>>>>>>> ["--add-modules" "java.xml.bind"] until a new ClojureScript >>>>>>>>>>>>>>>> version is out. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Am Donnerstag, 26. April 2018 01:04:37 UTC+2 schrieb Phill >>>>>>>>>>>>>>>> Wolf: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The error message fingers org/httpkit/server.clj. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Is this it? --> >>>>>>>>>>>>>>>>> https://github.com/http-kit/http-kit/issues/356 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> Note that posts from new members are moderated - please be >>>>>>>>>>>>>>>> patient with your first post. >>>>>>>>>>>>>>>> --- >>>>>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>>>>> Google Groups "ClojureScript" group. >>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails >>>>>>>>>>>>>>>> from it, send an email to [email protected]. >>>>>>>>>>>>>>>> To post to this group, send email to >>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>> Visit this group at >>>>>>>>>>>>>>>> https://groups.google.com/group/clojurescript. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Note that posts from new members are moderated - please be >>>>>>>>>>>>>> patient with your first post. >>>>>>>>>>>>>> --- >>>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>>> Google Groups "ClojureScript" group. >>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>>>>> To post to this group, send email to >>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>> Visit this group at >>>>>>>>>>>>>> https://groups.google.com/group/clojurescript. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>> Note that posts from new members are moderated - please be >>>>>>>>>>>> patient with your first post. >>>>>>>>>>>> --- >>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>> Google Groups "ClojureScript" group. >>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>>> To post to this group, send email to [email protected] >>>>>>>>>>>> . >>>>>>>>>>>> Visit this group at >>>>>>>>>>>> https://groups.google.com/group/clojurescript. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>> Note that posts from new members are moderated - please be >>>>>>>>>> patient with your first post. >>>>>>>>>> --- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "ClojureScript" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> To post to this group, send email to [email protected]. >>>>>>>>>> Visit this group at https://groups.google.com/group/clojurescript >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>> Note that posts from new members are moderated - please be patient >>>>>>>> with your first post. >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "ClojureScript" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> To post to this group, send email to [email protected]. >>>>>>>> Visit this group at https://groups.google.com/group/clojurescript. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>> Note that posts from new members are moderated - please be patient >>>>>> with your first post. >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "ClojureScript" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> Visit this group at https://groups.google.com/group/clojurescript. >>>>>> >>>>> >>>>> -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/clojurescript.
