我正在尝试遵循Clojurescript快速启动
我已经下载了快速入门指南中描述的Clojurescript jar。我确认尺寸合适(19M左右)我已经创建了文件。但是当我尝试使用命令:
构建时java -cp cljs.jar:src clojure.main build.clj
Java返回以下堆栈跟踪:
Exception in thread "main" java.io.FileNotFoundException: Could not locate cls/build/api__init.class or cls/build/api.clj on classpath., compiling:(/Users/jnedzel/Documents/prj/closurescript/quickstart/hello_world/build.clj:1:1)
at clojure.lang.Compiler.load(Compiler.java:7249)
at clojure.lang.Compiler.loadFile(Compiler.java:7175)
at clojure.main$load_script.invoke(main.clj:275)
at clojure.main$script_opt.invoke(main.clj:337)
at clojure.main$main.doInvoke(main.clj:421)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.lang.Var.invoke(Var.java:379)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate cls/build/api__init.class or cls/build/api.clj on classpath.
任何想法?
TL;博士: 中有一个错字build.clj
充分解释
在快速开始时,文件构建。Clj 应该包含以下内容:
(require 'cljs.build.api)
(cljs.build.api/build "src" {:output-to "out/main.js"})
错误信息显示Could not locate cls/build/api__init.class
。当clojure编译器编译一个ns时,会生成一个名为my/domain/lib__init.class的加载器类文件。这是在给定(require 'my.domain.lib)
的情况下加载的类
在cljs.build.api
的情况下,这将是cljs/build/api__init.class。但是它试图加载cls/build/api__init.class,所以你在那里有一个打字错误。