我在ClojureScript quickstart生产构建部分遇到问题。具体来说,当我运行:java -cp "cljs.jar;src" clojure.main release.clj
时,我得到一个java异常:
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/dev2/Experiments/cljscript/hello_world/out/cljs/core.js, compiling:(C:\dev2\Experiments\cljscript\hello_world\release.clj:3:1)
我在Windows上这样做,我怀疑谷歌封闭编译器不喜欢windows风格的路径,特别是冒号。我的release.clj是:
(require 'cljs.build.api)
(cljs.build.api/build "src"
{
:output-to "out/main.js"
:optimizations :advanced
})
(System/exit 0)
我正在用java -cp "cljs.jar;src" clojure.main release.clj
调用它。如果我注释掉:optimizations行,那么构建成功。
答案 0 :(得分:5)
这是一个已知问题https://dev.clojure.org/jira/browse/CLJS-2401
解决方法涉及使用带连字符的输出目录,如
(require 'cljs.build.api)
(cljs.build.api/build "src"
{
:output-to "out-foo/main.js"
:optimizations :advanced
})
(System/exit 0)