【问题标题】:Problems with Clojurescript quickstart -- build failsClojurescript 快速入门的问题——构建失败
【发布时间】:2015-07-15 19:31:34
【问题描述】:

我正在尝试关注Clojurescript Quick-Start

我已按照快速入门指南中的说明下载了 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.

有什么想法吗?

【问题讨论】:

  • 也许你在 build.clj 中有 cls.build.api 而不是 cljs.build.api

标签: clojurescript


【解决方案1】:

TL;DRbuild.clj

中有一个错字

完整解释

从快速入门开始,文件 build.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,所以你有一个错字。

【讨论】:

  • 就是这样。非常感谢。
猜你喜欢
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-08
  • 2018-09-18
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
相关资源
最近更新 更多