(<http://clojure.java.io/resource|clojure.java.io/resource> "clojure/core/cache/wrapped.clj")
returns the core.cache jar while
(<http://clojure.java.io/resource|clojure.java.io/resource> "clojure/core/cache__init.class")
returns the jar of a different dependency (our other project) with core.cache precompiled...So it is mix-matching files from different versions. I found this thread https://clojureverse.org/t/deploying-aot-compiled-libraries/2545/ and I can now piece together what is happening
> Your dependencies become the fixed versions which must be used by any upstream consumers.
The problem I'm facing now is whether I can write a project.clj that allows both the project to be uberjared, and allows it to be installed/deployed without AOT-compiled files. So far it seems like an either/or affair.
Looks like the solution is a profile with :prep-tasks []
that's used with install and deploy.🎉