知道了这一点很好。有没有哪里记录了这样的例子?或许有一个知名的开源项目使用这个模式,我可以从中学习?
这个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? 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)
原因是:在 (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? does not exist
在 clojure.core$refer.invokeStatic(core.clj:4237)
在 clojure.core$refer.doInvoke(core.clj:4205)
```