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

时间:2018-06-25 12:50:38

标签: clojure

假设我有以下文件:

hello / core.clj

(ns hello.core)

(println "Hello")

是否可以使用clj工具将该文件AOT编译为类文件,而无需使用类似“项目”的设置?我已经尝试过这样的事情:

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

但遇到无法定位hello/core.clj文件的错误。

1 个答案:

答案 0 :(得分:3)

看起来clj的默认期望是源文件位于src目录(from the guide)下:

  

默认情况下,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目录中。