In Clojure you can also play with namespaces to have multiple versions of your code for use. But for the JVM there is also OSGi which is a modular system which the CL world completly lacks. It allows loading and unloading of modules at runtime, and you can have multiple versions of your code available in one JVM. So in this case the JVM is years ahead, and CL will probably not offer this too soon, at least not for professional use.
I don’t like ASDF. It feels ugly.