This is the second question after Is there a standalone Clojure package within Leiningen?
For example, I have a file hello_world.clj
, and I can run it using
java -cp clojure.jar clojure.main hello_world.clj
.
Since lein already contains Clojure (because I can run lein repl
directly), is there a way to do the same thing like
lein script hello_world.clj
by lein?
There are several ways with
lein repl
:cat your_file.clj | lein repl
echo '(load-file "your_file.clj")' | lein repl
lein repl
(load-file "your_file.clj")
2
leiningen can create an 'uberjar' for you with all your dependencies....
will create a jar for you in the target subdirectory. The jar will contain all the dependencies listed in your
project.clj
, so you don't need to worry about constructing a complex classpath to invoke your code.You can reference this uberjar as a single entry in your java classpath in the normal way or, specify a main-class in the
project.clj
invoke it as an executable jar.e.g. a
project.clj
like this:will invoke the
-main
function inclj-scratch.core namespace
if you run:
use lein-exec plugin, example from readme.md (updated with "lein" instead of "lein2")