如何使用clj工具AOT编译单个clojure文件?(没有 deps.edn 文件)



假设我有以下文件:

hello/core.clj

(ns hello.core)
(println "Hello")

是否可以使用clj工具将此文件编译为类文件,而无需使用任何类似"项目"的设置?我试过这样的事情:

$ clj -e '(compile "hello/core")'

但是收到有关无法找到hello/core.clj文件的错误。

看起来clj的默认期望是源文件位于src目录下(来自指南(:

默认情况下,clj工具将在src目录中查找源文件,因此请创建src目录并在src/hello.clj处声明您的程序

要使compile正常工作,*compile-path*(默认为"classes"(也必须存在:

$ mkdir classes
$ tree
.
├── classes
└── src
└── hello
└── core.clj
$ test clj -e "(compile 'hello.core)"
Hello
hello.core

然后,您的类文件应该位于classes目录中。

相关内容

最新更新