Subject: clojure package is broken

From: Kristiyan Kanchev <[email-masked]>
Date: Thu, 26 Sep 2024 16:50:42 +0300

Hello,
I was about to open another issue with the same observation.

I'm seeing issues with the project Metabase: 
https://github.com/metabase/metabase. When `clojure -M:run`, it fails with:|
Execution error (ClassNotFoundException) at 
java.net.URLClassLoader/findClass (URLClassLoader.java:476).
jakarta.servlet.AsyncContext|

|
|

The problem seems to be that Clojure CLI (`clojure-tools` guix package) 
doesn't construct proper class path including all transitive 
dependencies of the project. I've tried to figure out what might be 
causing the issue and I suspect `maven-resolver-*` packages. Clojure CLI 
depends on `tools.deps` clojure lib, which itself depends on 
`maven-resolver-*`. There is a mention in the `tools.deps` changelog of 
reverting `maven-resolver-*` libs in version 0.18.1374 with comment 
"Revert update of Maven resolver libs - seeing resolution differences".
Here is the relevant commit:
https://github.com/clojure/tools.deps/commit/04539cd060d41a528794c04b50a6aa2293b672ce

Up until this date, `tools.deps` lists the older versions of 
maven-resolver-* libs in its deps.end file. Since Guix uses the latest 
versions of maven-resolver-* libs, I think this is causing the issue.