a clj-based uberjarrer (forked from healthfinch/depstar and enhanced)
Install this tool to an alias in $PROJECT/deps.edn or $HOME/.clojure/deps.edn:
{
:aliases {:depstar
{:extra-deps
{seancorfield/depstar {:mvn/version "0.1.5"}}}}
}Create an uberjar by invoking depstar with the desired jar name:
clj -A:depstar -m hf.depstar.uberjar MyProject.jarCreate a (library) jar by invoking depstar with the desired jar name:
clj -A:depstar -m hf.depstar.jar MyLib.jardepstar uses the classpath computed by clj.
For example, add web assets into an uberjar by including an alias in your deps.edn:
{:paths ["src"]
:aliases {:webassets {:extra-paths ["public-html"]}}}Then invoke depstar with the chosen aliases:
clj -A:depstar:webassets -m hf.depstar.uberjar MyProject.jarNote that depstar does no AOT compilation and does not add a manifest to the jar file. You can run the uberjar as follows
(assuming project.core is your main namespace):
java -cp MyProject.jar clojure.main -m project.coreThe use and distribution terms for this software are covered by the Eclipse Public License 2.0
