jar-copier is a Leiningen plug in to copy jars from your dependencies to your source tree. It’s a very small simple utility that proved to be necessary to have a sane setup with Java agents (New Relic for example).
It’s very simple to use. Put [jar-copier “0.1.0”] into the :plugins vector on your project.clj. To run this plug in, execute:
$ lein jar-copier
If you want the task to run automatically, which is recommended, add:
:prep-tasks ["javac" "compile" "jar-copier"]
and it’ll be invoked every time you build your uberjar.
You need to configure the plug-in in your project.clj like this:
:jar-copier {:java-agents true :destination "resources/jars"}
:java-agents instruct this plug in to automatically copy any jars that are specified as Java agents. :destination specifies where to copy them to.
For example, from proclodo-spa-server-rendering:
(defproject proclodo-spa-server-rendering "0.1.0-SNAPSHOT" :dependencies [[org.clojure/clojure "1.7.0"]] :plugins [[jar-copier "0.1.0"]] :prep-tasks ["javac" "compile" "jar-copier"] :java-agents [[com.newrelic.agent.java/newrelic-agent "3.20.0"]] :jar-copier {:java-agents true :destination "resources/jars"})
Leave a Reply