I'm trying to set up a lein project to build two different uberjars, each using different versions of the same dependencies. Currently I've got something like:
:profiles
{:version-1 {:dependencies [[external-lib "1.0.0"]]}
:version-2 {:dependencies [[external-lib "2.0.0"]]}}
The first surprise is that lein with-profile +version-1 uberjar fails to compile, because the classes from external-lib aren't available during compilation.
Through trial and error, I've found that adding ^:leaky metadata to the profiles allows lein with-profile +version-1 uberjar to succeed, but then there's another surprise: the classes from external-lib are actually not included in the uberjar. Is there a way to do this in lein?Are you using AOT?
I'd expect leaky to be all you need
From what you have said
You can try adding DEBUG=true prior to the lein command and see if you can get any more details