Hello! I run into a problem when try to use hoplon template
➜ boot -d boot/new new -t hoplon -n address-book
➜ cd address-book
➜ boot dev
boot.App.main App.java: 500
boot.App.runBoot App.java: 407
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 145
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 154
...
boot.main/-main main.clj: 216
boot.main/-main/fn main.clj: 216
clojure.core/load-string core.clj: 3959
clojure.core/load-reader core.clj: 3957
...
boot.user$eval3007.invoke : 14
boot.user$eval3007.invokeStatic : 14
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
hoplon.boot-hoplon/eval3380 boot_hoplon.clj: 9
hoplon.boot-hoplon/eval3380/loading--auto-- boot_hoplon.clj: 9
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
hoplon.boot-hoplon.refer/eval3386 refer.clj: 9
hoplon.boot-hoplon.refer/eval3386/loading--auto-- refer.clj: 9
...
clojure.core/require core.clj: 5796 (repeats 2 times)
clojure.core/apply core.clj: 648
...
clojure.core/load-libs core.clj: 5758
clojure.core/load-libs core.clj: 5774
clojure.core/apply core.clj: 648
...
clojure.core/load-lib core.clj: 5717
clojure.core/load-lib core.clj: 5736
clojure.core/load-lib/fn core.clj: 5737
clojure.core/load-one core.clj: 5697
...
clojure.core/load core.clj: 5876
clojure.core/load core.clj: 5892
clojure.core/load/fn core.clj: 5893
...
cljs.util/eval3392 util.cljc: 9
cljs.util/eval3392/loading--auto-- util.cljc: 9
...
java.lang.Class.forName Class.java: 416
java.lang.Class.forName0 Class.java
java.lang.ClassLoader.loadClass ClassLoader.java: 521
...
java.lang.ClassLoader.loadClass ClassLoader.java: 588
...
<http://java.net|java.net>.URLClassLoader.findClass URLClassLoader.java: 436
java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
clojure.lang.ExceptionInfo: javax.xml.bind.DatatypeConverter
line: 1
can’t find a way how to solve this
Which java version are you using?
➜ git java --version
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
i think you might need to do export BOOT_JVM_OPTS="--add-modules java.xml.bind"
Doesn’t work 😣
It worked half a year ago on the same machine
:thinking_face:
@denis_krivosheev you're running into this problem: https://www.deps.co/blog/how-to-upgrade-clojure-projects-to-use-java-11/#deprecations
the quick fix is to add javax.xml.bind/jaxb-api to your dependencies
looking here https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api it looks like 2.3.1 is the latest stable version, so i would add [javax.xml.bind/jaxb-api "2.3.1"]
to your dependencies
the proper fix is for whatever library/tool/whatever you're using that's making use of javax.xml.bind.DatatypeConverter to add that dependency instead
looks like it may be cljs.util, wherever that's coming from
That works! Thank you very much!
🍻