很好的了解。有没有某处记录了这个例子?或者有已知开源项目使用这种模式,我可以从中阅读?
这个 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)
```