im trying to run bb locally with clojure -M -m babashka.main and see this error:
$ clojure -M -m babashka.main
Syntax error (ClassNotFoundException) compiling at (borkdude/deps.clj:1:1).
borkdude.deps
I have all the submodules cloned and there is no changes in the code. This is running on JDK 19 which i hope is not an issue? Same happens when I'm trying to ./script/uberjar. full error in ๐งต{:clojure.main/message
"Syntax error (ClassNotFoundException) compiling at (borkdude/deps.clj:1:1).\nborkdude.deps\n",
:clojure.main/triage
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 1,
:clojure.error/column 1,
:clojure.error/source "deps.clj",
:clojure.error/path "borkdude/deps.clj",
:clojure.error/class java.lang.ClassNotFoundException,
:clojure.error/cause "borkdude.deps"},
:clojure.main/trace
{:via
[{:type clojure.lang.Compiler$CompilerException,
:message "Syntax error compiling at (borkdude/deps.clj:1:1).",
:data
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 1,
:clojure.error/column 1,
:clojure.error/source "borkdude/deps.clj"},
:at [clojure.lang.Compiler analyze "Compiler.java" 6825]}
{:type java.lang.ClassNotFoundException,
:message "borkdude.deps",
:at
[java.net.URLClassLoader findClass "URLClassLoader.java" 445]}],
:trace
[[java.net.URLClassLoader findClass "URLClassLoader.java" 445]
[clojure.lang.DynamicClassLoader
findClass
"DynamicClassLoader.java"
69]
[java.lang.ClassLoader loadClass "ClassLoader.java" 588]
[clojure.lang.DynamicClassLoader
loadClass
"DynamicClassLoader.java"
77]
[java.lang.ClassLoader loadClass "ClassLoader.java" 521]
[java.lang.Class forName0 "Class.java" -2]
[java.lang.Class forName "Class.java" 495]
[java.lang.Class forName "Class.java" 474]
[clojure.lang.RT classForName "RT.java" 2209]
[clojure.lang.RT classForName "RT.java" 2218]
[clojure.lang.Compiler resolveIn "Compiler.java" 7412]
[clojure.lang.Compiler resolve "Compiler.java" 7375]
[clojure.lang.Compiler analyzeSymbol "Compiler.java" 7336]
[clojure.lang.Compiler analyze "Compiler.java" 6785]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$InvokeExpr parse "Compiler.java" 3900]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7126]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$BodyExpr$Parser parse "Compiler.java" 6135]
[clojure.lang.Compiler$TryExpr$Parser parse "Compiler.java" 2326]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7124]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$BodyExpr$Parser parse "Compiler.java" 6137]
[clojure.lang.Compiler$FnMethod parse "Compiler.java" 5479]
[clojure.lang.Compiler$FnExpr parse "Compiler.java" 4041]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7122]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7112]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$InvokeExpr parse "Compiler.java" 3832]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7126]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$BodyExpr$Parser parse "Compiler.java" 6137]
[clojure.lang.Compiler$FnMethod parse "Compiler.java" 5479]
[clojure.lang.Compiler$FnExpr parse "Compiler.java" 4041]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7122]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler eval "Compiler.java" 7191]
[clojure.lang.Compiler eval "Compiler.java" 7183]
[clojure.lang.Compiler load "Compiler.java" 7653]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__8621 invoke "core.clj" 6161]
[clojure.core$load invokeStatic "core.clj" 6160]
[clojure.core$load doInvoke "core.clj" 6144]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5933]
[clojure.core$load_one invoke "core.clj" 5928]
[clojure.core$load_lib$fn__8563 invoke "core.clj" 5975]
[clojure.core$load_lib invokeStatic "core.clj" 5974]
[clojure.core$load_lib doInvoke "core.clj" 5953]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$apply invoke "core.clj" 662]
[clojure.core$load_libs invokeStatic "core.clj" 6017]
[clojure.core$load_libs doInvoke "core.clj" 6000]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$apply invoke "core.clj" 662]
[clojure.core$require invokeStatic "core.clj" 6106]
[clojure.core$require doInvoke "core.clj" 6038]
[clojure.lang.RestFn invoke "RestFn.java" 457]
[babashka.deps$eval11136$loading__8486__auto____11137
invoke
"deps.clj"
1]
[babashka.deps$eval11136 invokeStatic "deps.clj" 1]
[babashka.deps$eval11136 invoke "deps.clj" 1]
[clojure.lang.Compiler eval "Compiler.java" 7194]
[clojure.lang.Compiler eval "Compiler.java" 7183]
[clojure.lang.Compiler load "Compiler.java" 7653]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__8621 invoke "core.clj" 6161]
[clojure.core$load invokeStatic "core.clj" 6160]
[clojure.core$load doInvoke "core.clj" 6144]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5933]
[clojure.core$load_one invoke "core.clj" 5928]
[clojure.core$load_lib$fn__8563 invoke "core.clj" 5975]
[clojure.core$load_lib invokeStatic "core.clj" 5974]
[clojure.core$load_lib doInvoke "core.clj" 5953]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$apply invoke "core.clj" 662]
[clojure.core$load_libs invokeStatic "core.clj" 6017]
[clojure.core$load_libs doInvoke "core.clj" 6000]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$apply invoke "core.clj" 662]
[clojure.core$require invokeStatic "core.clj" 6106]
[clojure.core$require doInvoke "core.clj" 6038]
[clojure.lang.RestFn invoke "RestFn.java" 3894]
[babashka.main$eval2669$loading__1607__auto____2670
invoke
"main.clj"
1]
[babashka.main$eval2669 invokeStatic "main.clj" 1]
[babashka.main$eval2669 invoke "main.clj" 1]
[clojure.lang.Compiler eval "Compiler.java" 7194]
[clojure.lang.Compiler eval "Compiler.java" 7183]
[clojure.lang.Compiler load "Compiler.java" 7653]
[clojure.lang.RT loadResourceScript "RT.java" 381]
[clojure.lang.RT loadResourceScript "RT.java" 372]
[clojure.lang.RT load "RT.java" 459]
[clojure.lang.RT load "RT.java" 424]
[clojure.core$load$fn__1742 invoke "core.clj" 6161]
[clojure.core$load invokeStatic "core.clj" 6160]
[clojure.core$load doInvoke "core.clj" 6144]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[clojure.core$load_one invokeStatic "core.clj" 5933]
[clojure.core$load_one invoke "core.clj" 5928]
[clojure.core$load_lib$fn__1684 invoke "core.clj" 5975]
[clojure.core$load_lib invokeStatic "core.clj" 5974]
[clojure.core$load_lib doInvoke "core.clj" 5953]
[clojure.lang.RestFn applyTo "RestFn.java" 142]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$apply invoke "core.clj" 662]
[clojure.core$load_libs invokeStatic "core.clj" 6017]
[clojure.core$load_libs doInvoke "core.clj" 6000]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.core$apply invokeStatic "core.clj" 669]
[clojure.core$require invokeStatic "core.clj" 6038]
[clojure.main$main_opt invokeStatic "main.clj" 514]
[clojure.main$main_opt invoke "main.clj" 510]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause "borkdude.deps",
:phase :compile-syntax-check}}its been a while but i do remember to be able to run this. its a bit baffling as this is exactly what the CI does!
ls deps.clj?
$ tree deps.clj
deps.clj
โโโ CHANGELOG.md
โโโ LICENSE
โโโ README.md
โโโ appveyor.yml
โโโ assets
โ โโโ windows-scoop.png
โโโ bb
โ โโโ artifact.clj
โ โโโ tasks.clj
โโโ bb.edn
โโโ deps.bat
โโโ deps.clj
โโโ deps.edn
โโโ install
โโโ install.ps1
โโโ project.clj
โโโ resources
โ โโโ DEPS_CLJ_RELEASED_VERSION
โ โโโ DEPS_CLJ_VERSION
โโโ script
โ โโโ bump_version.clj
โ โโโ changelog.clj
โ โโโ gen_script.clj
โโโ src
โ โโโ borkdude
โ โโโ deps.clj
โโโ test
โโโ borkdude
โโโ deps_test.clj
โโโ exec_test.cljclj
(require '[borkdude.deps])that works
i did make sure of the cp too when trying to debug
$ clojure -M -m babashka.main
Babashka v1.1.173-SNAPSHOT REPL.
Use :repl/quit or :repl/exit to quit the REPL.
Clojure rocks, Bash reaches.
user=>yep i remember that working for me too, will try some more things
did you suddenly switch to another jdk?
well on this machine its JDK 19 temurin, didnt change that for a while.
borkdude@m1 ~/dev/babashka (master) $ export GRAALVM_HOME=~/Downloads/graalvm-ce-java19-22.3.0/Contents/Home
borkdude@m1 ~/dev/babashka (master) $ export JAVA_HOME=$GRAALVM_HOME
borkdude@m1 ~/dev/babashka (master) $ clj
Clojure 1.11.1
user=> (System/getProperty "java.version")
"19.0.1"
user=>
borkdude@m1 ~/dev/babashka (master) $ clojure -M -m babashka.main
Babashka v1.1.173-SNAPSHOT REPL.
Use :repl/quit or :repl/exit to quit the REPL.
Clojure rocks, Bash reaches.
user=>yeah i'll investigate a more and report back, seems like a weird thing
maybe try a fresh clone
rm -rf ~/.m2 then it all magically works ๐คท๐พ facepalm
one day i'll understand how classpath truly works. thanks for the help anyways
Perhaps upgrade the clojure CLI if you haven't got the latest
it has better detection of staleness nowadays
also -Sforce might help next time