Welcome! Please see the About page for a little more info on how this works.

0 votes
in CIDER by

Hello Everyone,

I have started learning clojure. Using the book "clojure for the brave and true".
I am trying to get the first code running using emacs, cider.

Whenever I run
M-x cider-jack-in

to start the repl. It starts then I get a very long error stack trace.
From the analysis I have done. It appers the error is caused

by Caused by: java.lang.ClassNotFoundException: jdk.javadoc.doclet.Doclet

I am using
jdk 11.0.14
clojure 1.11.1
cider 1.6.0

Find below the stack trace

;; Startup: "c:/Users/nyemi/Documents/clojure/lein.bat" update-in :dependencies conj ^"[nrepl/nrepl \^"1.0.0\^"]^" -- update-in :plugins conj ^"[cider/cider-nrepl \^"0.29.0\^"]^" -- repl :headless :host localhost
ERROR: Unhandled REPL handler exception processing message {:op init-debugger, :nrepl.middleware.print/stream? 1, :nrepl.middleware.print/print cider.nrepl.pprint/pprint, :nrepl.middleware.print/quota 1048576, :nrepl.middleware.print/buffer-size 4096, :nrepl.middleware.print/options {:right-margin 70}, :session d8f7ce4f-e479-4c00-a8c3-2bc4f2bb3257, :id 6}
Syntax error macroexpanding at (cider/nrepl/inlined/deps/orchard/v0v11v0/orchard/java/parser.clj:1:1).

at clojure.lang.Compiler.load(Compiler.java:7665)
at clojure.lang.RT.loadResourceScript(RT.java:381)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.load(RT.java:459)
at clojure.lang.RT.load(RT.java:424)
at clojure.core$load$fn__6908.invoke(core.clj:6161)
at clojure.core$load.invokeStatic(core.clj:6160)
at clojure.core$load.doInvoke(core.clj:6144)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5933)
at clojure.core$load_one.invoke(core.clj:5928)
at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
at clojure.core$load_lib.invokeStatic(core.clj:5974)
at clojure.core$load_lib.doInvoke(core.clj:5953)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$load_libs.invokeStatic(core.clj:6016)
at clojure.core$load_libs.doInvoke(core.clj:6000)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$require.invokeStatic(core.clj:6038)
at clojure.core$require.doInvoke(core.clj:6038)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3714)
at clojure.lang.Compiler$BodyExpr.eval(Compiler.java:6151)
at clojure.lang.Compiler$IfExpr.eval(Compiler.java:2741)
at clojure.lang.Compiler$DefExpr.eval(Compiler.java:457)
at clojure.lang.Compiler.eval(Compiler.java:7199)
at clojure.lang.Compiler.load(Compiler.java:7653)
at clojure.lang.RT.loadResourceScript(RT.java:381)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.load(RT.java:459)
at clojure.lang.RT.load(RT.java:424)
at clojure.core$load$fn__6908.invoke(core.clj:6161)
at clojure.core$load.invokeStatic(core.clj:6160)
at clojure.core$load.doInvoke(core.clj:6144)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5933)
at clojure.core$load_one.invoke(core.clj:5928)
at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
at clojure.core$load_lib.invokeStatic(core.clj:5974)
at clojure.core$load_lib.doInvoke(core.clj:5953)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$load_libs.invokeStatic(core.clj:6016)
at clojure.core$load_libs.doInvoke(core.clj:6000)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$require.invokeStatic(core.clj:6038)
at clojure.core$require.doInvoke(core.clj:6038)
at clojure.lang.RestFn.invoke(RestFn.java:619)
at cider.nrepl.inlined.deps.orchard.v0v11v0.orchard.info$eval4201$loading__6789__auto____4202.invoke(info.clj:1)
at cider.nrepl.inlined.deps.orchard.v0v11v0.orchard.info$eval4201.invokeStatic(info.clj:1)
at cider.nrepl.inlined.deps.orchard.v0v11v0.orchard.info$eval4201.invoke(info.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:7194)
at clojure.lang.Compiler.eval(Compiler.java:7183)
at clojure.lang.Compiler.load(Compiler.java:7653)
at clojure.lang.RT.loadResourceScript(RT.java:381)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.load(RT.java:459)
at clojure.lang.RT.load(RT.java:424)
at clojure.core$load$fn__6908.invoke(core.clj:6161)
at clojure.core$load.invokeStatic(core.clj:6160)
at clojure.core$load.doInvoke(core.clj:6144)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5933)
at clojure.core$load_one.invoke(core.clj:5928)
at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
at clojure.core$load_lib.invokeStatic(core.clj:5974)
at clojure.core$load_lib.doInvoke(core.clj:5953)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$load_libs.invokeStatic(core.clj:6016)
at clojure.core$load_libs.doInvoke(core.clj:6000)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$require.invokeStatic(core.clj:6038)
at clojure.core$require.doInvoke(core.clj:6038)
at clojure.lang.RestFn.invoke(RestFn.java:703)
at cider.nrepl.inlined.deps.haystack.v0v0v3.haystack.analyzer$eval2880$loading__6789__auto____2881.invoke(analyzer.clj:1)
at cider.nrepl.inlined.deps.haystack.v0v0v3.haystack.analyzer$eval2880.invokeStatic(analyzer.clj:1)
at cider.nrepl.inlined.deps.haystack.v0v0v3.haystack.analyzer$eval2880.invoke(analyzer.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:7194)
at clojure.lang.Compiler.eval(Compiler.java:7183)
at clojure.lang.Compiler.load(Compiler.java:7653)
at clojure.lang.RT.loadResourceScript(RT.java:381)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.load(RT.java:459)
at clojure.lang.RT.load(RT.java:424)
at clojure.core$load$fn__6908.invoke(core.clj:6161)
at clojure.core$load.invokeStatic(core.clj:6160)
at clojure.core$load.doInvoke(core.clj:6144)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5933)
at clojure.core$load_one.invoke(core.clj:5928)
at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
at clojure.core$load_lib.invokeStatic(core.clj:5974)
at clojure.core$load_lib.doInvoke(core.clj:5953)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$load_libs.invokeStatic(core.clj:6016)
at clojure.core$load_libs.doInvoke(core.clj:6000)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$require.invokeStatic(core.clj:6038)
at clojure.core$require.doInvoke(core.clj:6038)
at clojure.lang.RestFn.invoke(RestFn.java:1289)
at cider.nrepl.middleware.debug$eval1742$loading__6789__auto____1743.invoke(debug.clj:1)
at cider.nrepl.middleware.debug$eval1742.invokeStatic(debug.clj:1)
at cider.nrepl.middleware.debug$eval1742.invoke(debug.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:7194)
at clojure.lang.Compiler.eval(Compiler.java:7183)
at clojure.lang.Compiler.load(Compiler.java:7653)
at clojure.lang.RT.loadResourceScript(RT.java:381)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.load(RT.java:459)
at clojure.lang.RT.load(RT.java:424)
at clojure.core$load$fn__6908.invoke(core.clj:6161)
at clojure.core$load.invokeStatic(core.clj:6160)
at clojure.core$load.doInvoke(core.clj:6144)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5933)
at clojure.core$load_one.invoke(core.clj:5928)
at clojure.core$load_lib$fn__6850.invoke(core.clj:5975)
at clojure.core$load_lib.invokeStatic(core.clj:5974)
at clojure.core$load_lib.doInvoke(core.clj:5953)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$load_libs.invokeStatic(core.clj:6016)
at clojure.core$load_libs.doInvoke(core.clj:6000)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:669)
at clojure.core$require.invokeStatic(core.clj:6038)
at clojure.core$require.doInvoke(core.clj:6038)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at cider.nrepl$handler_future$fn__1130$fn__1131.invoke(nrepl.clj:53)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.AFn.applyTo(AFn.java:144)
at clojure.core$apply.invokeStatic(core.clj:667)
at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1990)
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1990)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at cider.nrepl$handler_future$fn__1130.invoke(nrepl.clj:52)
at clojure.lang.Delay.deref(Delay.java:42)
at clojure.core$deref.invokeStatic(core.clj:2337)
at clojure.core$deref.invoke(core.clj:2323)
at cider.nrepl$wrap_debug$fn__1213.invoke(nrepl.clj:163)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at cider.nrepl$wrap_enlighten$fn__1221.invoke(nrepl.clj:190)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at nrepl.middleware.load_file$wrap_load_file$fn__11240.invoke(load_file.clj:81)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at cider.nrepl$wrap_content_type$fn__1171.invoke(nrepl.clj:107)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at nrepl.middleware.session$add_stdin$fn__10848.invoke(session.clj:379)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at cider.nrepl$wrap_inspect$fn__1247.invoke(nrepl.clj:227)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at nrepl.middleware.caught$wrap_caught$fn__10673.invoke(caught.clj:97)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at cider.nrepl$wrap_profile$fn__1279.invoke(nrepl.clj:343)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at nrepl.middleware.print$wrap_print$fn__10644.invoke(print.clj:234)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at cider.nrepl$wrap_undef$fn__1343.invoke(nrepl.clj:531)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at cider.nrepl$wrap_tracker$fn__1335.invoke(nrepl.clj:520)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at nrepl.middleware.lookup$wrap_lookup$fn__11266.invoke(lookup.clj:52)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at nrepl.middleware.session$session$fn__10835.invoke(session.clj:325)
at nrepl.middleware$wrap_conj_descriptor$fn__10438.invoke(middleware.clj:16)
at nrepl.server$default_handler$fn__11337.invoke(server.clj:141)
at nrepl.server$handle_STAR_.invokeStatic(server.clj:24)
at nrepl.server$handle_STAR_.invoke(server.clj:21)
at nrepl.server$handle$fn__11305.invoke(server.clj:41)
at clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)
at clojure.lang.AFn.call(AFn.java:18)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: jdk.javadoc.doclet.Doclet

at java.base/java.net.URLClassLoader.findClass(Unknown Source)
at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69)

1 Answer

0 votes
by

I'm sorry you are seeing this error. I've done a little googling and found this issue: https://github.com/clojure-emacs/orchard/issues/117

It seems some jdks have the javadoc classes removed. CIDER (via its dependency orchard) uses these classes to parse java classes.

Can you tell me the output of java -version and how you installed java? For instance, for me my output is

❯ java -version
openjdk version "17.0.1" 2021-10-19 LTS
OpenJDK Runtime Environment Zulu17.30+15-CA (build 17.0.1+12-LTS)
OpenJDK 64-Bit Server VM Zulu17.30+15-CA (build 17.0.1+12-LTS, mixed mode, sharing)

And i installed it with sdkman.

by
java -version
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment Temurin-11.0.14+9 (build 11.0.14+9)
OpenJDK 64-Bit Server VM Temurin-11.0.14+9 (build 11.0.14+9, mixed mode)

I am using a windows 64 bit laptop.
I downloaded the open jdk from this link

AdoptOpenJDK

https://adoptopenjdk.net/

The installer that was used is located at this link
https://adoptium.net/en-GB/temurin/releases/?version=11
by
Thanks for giving me a hint. I decided to change the jdk that lein is using by adding JAVA_CMD environment.  C:\Program Files\Java\jdk1.8.0_231\bin\java.  (Switched to jdk 8 instead of the default jdk 11). It's working now. This will allow me to continue learning for now. I still want to use jdk 11 for production apps so I will still have to fix this issue in the future.

I found this link helpful on how to switch jdk lein is using.

https://gist.github.com/camsaul/c982019fd915510677236cd4b720a583
...