Другой способ - создать uberjar:
> lein clean
> lein uberjar
Compiling demo.hello
Compiling demo.numbers
Created /home/alan/expr/demo-horizon/target/demo-horizon-0.1.0-SNAPSHOT.jar
Created /home/alan/expr/demo-horizon/target/demo-horizon-0.1.0-SNAPSHOT-standalone.jar
Обычно вы всегда хотите использовать xxx-standalone.jar
версию.
Затем вы запускаете процесс, используя обычный Java без всякого лейна:
java -jar /home/alan/expr/demo-horizon/target/demo-horizon-0.1.0-SNAPSHOT-standalone.jar
и вы можете добавить любые флаги, такие как -Xmx4g
или что угодно еще.
Обновление
Я всегда запускаю lein clean
перед созданием uberjar. Это поведение по умолчанию, но его можно отключить, установив :auto-clean false
в project.clj
. В соответствии с примером проекта .clj:
; By default Leiningen will run a clean before creating jars to prevent
; undeclared AOT from leaking to downstream consumers; this disables
; that behaviour.
:auto-clean false
Я не могу понять, почему начинать с грязной сборки было бы хорошей идеей, поэтому я всегда сначала запускаю lein clean
вручную (на случай, если :auto-clean
было отключено).