A clj-based uberjarrer
Switch branches/tags
Nothing to show
Clone or download
devn Merge pull request #8 from seancorfield/patch-1
Clarify lack of AOT/manifest; add run example
Latest commit 2879672 Oct 12, 2018



a clj-based uberjarrer


Install this tool to an alias in $PROJECT/deps.edn or $HOME/.clojure/deps.edn:

  :aliases {:depstar
                 {com.healthfinch/depstar {:git/url "https://github.com/healthfinch/depstar.git"
                                           :sha "4aa7b35189693feebc7d7e4a180b8af0326c9164"}}}}

Create an uberjar by invoking depstar with the desired jar name:

clj -A:depstar -m hf.depstar.uberjar MyProject.jar

depstar 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.jar

Note 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.core


The use and distribution terms for this software are covered by the Eclipse Public License 2.0