gpt4 book ai didi

clojure - leiningen 运行一个 AOT 编译的 java 类

转载 作者:行者123 更新时间:2023-12-04 03:06:30 24 4
gpt4 key购买 nike

上下文

如果我希望 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”启动?

谢谢!

最佳答案

如果我理解您的问题,您仍然可以为此使用 :repl-init,方法是调用您希望在由 repl 加载的命名空间中预加载的类。在这个例子中,我使用 println 语句作为你想要完成的设置的替代:-)

项目.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)

核心.clj

(ns foooo.core
(:gen-class))
(println "setting up for fun")

(defn -main [])

编译: 亚瑟@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

回复:

arthur@a:~/foooo$ lein repl
REPL started; server listening on localhost port 63392
setting up for fun
foooo.core=>

关于clojure - leiningen 运行一个 AOT 编译的 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11112203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com