很好,有没有某个地方记载了这方面的例子?或者有已知的开源项目采用了这种模式,我可以从中读取?
此 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)
...
原因:caused by: java.lang.IllegalAccessError: indexing-reader? does not exist
在 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)
原因:java.lang.IllegalAccessError: whitespace? does not exist
在 clojure.lang.Compiler.load(Compiler.java:7652)
在 clojure.lang.RT.loadResourceScript(RT.java:381)
...
在 clojure.core$refer.invokeStatic(core.clj:4237)
在 clojure.core$refer.invokeStatic(core.clj:4237)
在 clojure.core$refer.doInvoke(core.clj:4205)
```