如果我想让Lein 1.7开始加载特定类,我会这样做:
:repl-init init.init
现在,我没有让lein加载* .clj文件,而是希望lein做“java Foo”的等价,其中Foo是classes / Foo.class
我的project.clj看起来很像:
(defproject ...
:aot [Foo]
???? )
我放入什么?通过执行“java Foo”使“lein repl”启动?
谢谢!
答案 0 :(得分:3)
如果我理解你的问题,你仍然可以使用:repl-init通过调用你想要预先加载到由repl加载的命名空间的类来实现。在这个例子中,我使用println
语句作为你想要完成的设置的代表: - )
project.clj:
(defproject foooo "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.3.0"]]
:aot [foooo.core]
:main foooo.core
:repl-init foooo.core)
core.clj
(ns foooo.core
(:gen-class))
(println "setting up for fun")
(defn -main [])
编译: arthur @ a:〜/ foooo $ lein编译 编译foooo.core 编译成功。
运行:
arthur@a:~/foooo$ CLASSPATH=./lib/clojure-1.3.0.jar:./classes/ java foooo.core 1
setting up for fun
或:
arthur@a:~/foooo$ lein run
setting up for fun
REPLing:
arthur@a:~/foooo$ lein repl
REPL started; server listening on localhost port 63392
setting up for fun
foooo.core=>