假设我有以下文件:
hello / core.clj :
(ns hello.core)
(println "Hello")
是否可以使用clj
工具将该文件AOT编译为类文件,而无需使用类似“项目”的设置?我已经尝试过这样的事情:
$ clj -e '(compile "hello/core")'
但遇到无法定位hello/core.clj
文件的错误。
答案 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
目录中。