clara-examples icon indicating copy to clipboard operation
clara-examples copied to clipboard

fix: missing dependency

Open aviad opened this issue 4 years ago • 6 comments

Versions:

> clj --version
Clojure CLI version 1.10.3.849
> java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

Causing this exception:

> lein run -m clara.examples
Exception in thread "main" java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter, compiling:(cljs/closure.clj:1:1)
	at clojure.lang.Compiler.load(Compiler.java:7239)
	at clojure.lang.RT.loadResourceScript(RT.java:371)
	at clojure.lang.RT.loadResourceScript(RT.java:362)
	at clojure.lang.RT.load(RT.java:446)
	at clojure.lang.RT.load(RT.java:412)
	at clojure.core$load$fn__5448.invoke(core.clj:5866)
	at clojure.core$load.doInvoke(core.clj:5865)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invoke(core.clj:5671)
	at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
	at clojure.core$load_lib.doInvoke(core.clj:5710)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invoke(core.clj:632)
	at clojure.core$load_libs.doInvoke(core.clj:5749)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invoke(core.clj:632)
	at clojure.core$require.doInvoke(core.clj:5832)
	at clojure.lang.RestFn.invoke(RestFn.java:619)
	at cljs.build.api$eval111$loading__5340__auto____112.invoke(api.clj:8)
	at cljs.build.api$eval111.invoke(api.clj:8)
	at clojure.lang.Compiler.eval(Compiler.java:6782)
	at clojure.lang.Compiler.eval(Compiler.java:6771)
	at clojure.lang.Compiler.load(Compiler.java:7227)
	at clojure.lang.RT.loadResourceScript(RT.java:371)
	at clojure.lang.RT.loadResourceScript(RT.java:362)
	at clojure.lang.RT.load(RT.java:446)
	at clojure.lang.RT.load(RT.java:412)
	at clojure.core$load$fn__5448.invoke(core.clj:5866)
	at clojure.core$load.doInvoke(core.clj:5865)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invoke(core.clj:5671)
	at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
	at clojure.core$load_lib.doInvoke(core.clj:5710)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invoke(core.clj:632)
	at clojure.core$load_libs.doInvoke(core.clj:5749)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invoke(core.clj:632)
	at clojure.core$require.doInvoke(core.clj:5832)
	at clojure.lang.RestFn.invoke(RestFn.java:482)
	at cljsbuild.compiler$eval9$loading__5340__auto____10.invoke(compiler.clj:1)
	at cljsbuild.compiler$eval9.invoke(compiler.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:6782)
	at clojure.lang.Compiler.eval(Compiler.java:6771)
	at clojure.lang.Compiler.load(Compiler.java:7227)
	at clojure.lang.RT.loadResourceScript(RT.java:371)
	at clojure.lang.RT.loadResourceScript(RT.java:362)
	at clojure.lang.RT.load(RT.java:446)
	at clojure.lang.RT.load(RT.java:412)
	at clojure.core$load$fn__5448.invoke(core.clj:5866)
	at clojure.core$load.doInvoke(core.clj:5865)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invoke(core.clj:5671)
	at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
	at clojure.core$load_lib.doInvoke(core.clj:5710)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invoke(core.clj:632)
	at clojure.core$load_libs.doInvoke(core.clj:5749)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invoke(core.clj:632)
	at clojure.core$require.doInvoke(core.clj:5832)
	at clojure.lang.RestFn.invoke(RestFn.java:436)
	at user$eval5.invoke(form-init18310075693105032132.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:6782)
	at clojure.lang.Compiler.eval(Compiler.java:6771)
	at clojure.lang.Compiler.load(Compiler.java:7227)
	at clojure.lang.Compiler.loadFile(Compiler.java:7165)
	at clojure.main$load_script.invoke(main.clj:275)
	at clojure.main$init_opt.invoke(main.clj:280)
	at clojure.main$initialize.invoke(main.clj:308)
	at clojure.main$null_opt.invoke(main.clj:343)
	at clojure.main$main.doInvoke(main.clj:421)
	at clojure.lang.RestFn.invoke(RestFn.java:421)
	at clojure.lang.Var.invoke(Var.java:383)
	at clojure.lang.AFn.applyToHelper(AFn.java:156)
	at clojure.lang.Var.applyTo(Var.java:700)
	at clojure.main.main(main.java:37)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
	at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
	at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:398)
	at clojure.lang.RT.classForName(RT.java:2154)
	at clojure.lang.RT.classForNameNonLoading(RT.java:2167)
	at cljs.closure$eval3274$loading__5340__auto____3275.invoke(closure.clj:9)
	at cljs.closure$eval3274.invoke(closure.clj:9)
	at clojure.lang.Compiler.eval(Compiler.java:6782)
	at clojure.lang.Compiler.eval(Compiler.java:6771)
	at clojure.lang.Compiler.load(Compiler.java:7227)
	... 76 more

aviad avatar Jun 16 '21 10:06 aviad

@WilliamParker - I'm happy to give more details if needed :)

aviad avatar Jun 16 '21 12:06 aviad

Relates to https://github.com/cerner/clara-rules/pull/413

mrrodriguez avatar Jun 17 '21 13:06 mrrodriguez

How did this happen? From "lein run"?

Since clara-examples isn't intended to be consumed as a library, but rather is just a demo project, I don't think we need to be worried about dependency bloat and can just add the dependency unless you think that is encouraging bad usage patterns @mrrodriguez - you're more current on the cljs ecosystem than I am. Changes to the cljs build in clara are of course more complex.

WilliamParker avatar Jun 19 '21 14:06 WilliamParker

How did this happen? From "lein run"?

Yes @WilliamParker. Edited the PR description to show this. Thank you :)

aviad avatar Jun 20 '21 07:06 aviad

How did this happen? From "lein run"?

Since clara-examples isn't intended to be consumed as a library, but rather is just a demo project, I don't think we need to be worried about dependency bloat and can just add the dependency unless you think that is encouraging bad usage patterns @mrrodriguez - you're more current on the cljs ecosystem than I am. Changes to the cljs build in clara are of course more complex.

This seems ok to me. I think we had to do similar in other Clara projects and cljs is still ok despite the bigger changes I’d like to do there.

mrrodriguez avatar Jun 21 '21 03:06 mrrodriguez

@WilliamParker - I rediscovered this PR, so I'd like to make sure I'm not the one blocking the merge here, in case it's still relevant.

sox-security-bot avatar Oct 11 '21 08:10 sox-security-bot