Hi Everyone,
I've been having trouble creating an uberjar of a project and I'm hoping someone here can point me toward a solution.
After cleaning out the target directory (with "lein clean") and preprocessing my cljx, I can run the project with no trouble using lein repl and lein run. I can package up the project (lein with-profile prd uberjar) and get the resultant jar files. After that, the trouble starts. Running the jar (java -jar my-standalone.jar) fails with a NoClassDefFoundError error, pointing at a protocol defined in weaverjester's
clout - clout/core/Route. I highly doubt clout actually has anything to do with the problem. After creating the uberjar, I can no longer run the project with lein run or lein repl - I get the same error, and I can't do anything with lein without getting that error until I remove the target directory.
I've inspected the jar and can see that it contains clout, but just clout/core.clj - no .class files. I edited clout's project.clj to include :aot :all, packaged it into a jar, replaced the clout jar in my local maven repo with that new jar, and re-packaged my project. At this point, when I ran the jar, I got another NoClassDefFoundError, this time pointing at another protocol, but this one from clojure.core: clojure/lang/ILookupHost.
I've been having this problem with the latest leiningen (2.3.4) and 2.2.0.
I've been futzing with my project.clj for some time, but to no avail. Any help greatly appreciated.
-Tom