Clojurescript快速入门的问题——构建失败



我正在尝试遵循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,所以你在那里有一个打字错误。

最新更新