很好,有没有某个地方记录了这样的例子?或者有没有使用这种模式的开源项目,我可以从中学习?
这个 gist 包含了我在使用多个基础时的尝试,但它抛出了我无法解释的异常
https://gist.github.com/erp12/7ea123fe4d623f61dcda94e3cbd03845#file-build-clj
有趣的是,根本原因错误不一致。以下是两个示例。
甚至更奇怪的是,即使在任何入口函数中都没有引用 `jar-basis`,这些异常也会发生。这似乎仅仅调用 `create-basis` 多次就会导致异常。
```
线程 "Thread-7" 异常 java.lang.ExceptionInInitializerError
在 clojure.tools.deps.alpha.util.S3TransporterFactory.triggerLoad(S3TransporterFactory.java:44)
在 clojure.tools.deps.alpha.util.S3TransporterFactory.access$100(S3TransporterFactory.java:29)
在 clojure.tools.deps.alpha.util.S3TransporterFactory$1.run(S3TransporterFactory.java:49)
在 java.lang.Thread.run(Thread.java:748)
原因:在 (clojure/tools/reader.clj:1:1) 编译时出现语法错误。
在 clojure.lang.Compiler.load(Compiler.java:7652)
在 clojure.lang.RT.loadResourceScript(RT.java:381)
...
原因:java.lang.IllegalAccessError: indexing-reader? 不存在
在 clojure.core$refer.invokeStatic(core.clj:4237)
在 clojure.core$refer.doInvoke(core.clj:4205)
```
另一种错误版本。
```
线程 "Thread-7" 异常 java.lang.ExceptionInInitializerError
在 clojure.tools.deps.alpha.util.S3TransporterFactory.triggerLoad(S3TransporterFactory.java:44)
在 clojure.tools.deps.alpha.util.S3TransporterFactory.access$100(S3TransporterFactory.java:29)
在 clojure.tools.deps.alpha.util.S3TransporterFactory$1.run(S3TransporterFactory.java:49)
在 java.lang.Thread.run(Thread.java:748)
原因:在 (clojure/tools/reader/reader_types.clj:1:1) 编译时出现语法错误。
在 clojure.lang.Compiler.load(Compiler.java:7652)
在 clojure.lang.RT.loadResourceScript(RT.java:381)
...
原因:java.lang.IllegalAccessError: whitespace? 不存在
在 clojure.core$refer.invokeStatic(core.clj:4237)
在 clojure.core$refer.doInvoke(core.clj:4205)
```