有益的知识。有没有哪里记录了这方面的例子?或者有没有可以使用这个模式的开源项目,我可以从中读取信息?
这个片段包含了我尝试使用多个 bases 的代码,但它抛出了我无法解释的异常
https://gist.github.com/erp12/7ea123fe4d623f61dcda94e3cbd03845#file-build-clj
有趣的是,根cause异常并不一致。下面是两个例子。
甚至更奇怪的是,即使 `jar-basis` 永远没有在任何 entry-point 函数中引用,这些异常也会被抛出。这似乎只是多次调用 `create-basis` 就会引发异常。
```
线程 "Thread-7" 中的异常 java.lang.ExceptionInInitializerError
at clojure.tools.deps.alpha.util.S3TransporterFactory.triggerLoad(S3TransporterFactory.java:44)
at clojure.tools.deps.alpha.util.S3TransporterFactory.access$100(S3TransporterFactory.java:29)
at clojure.tools.deps.alpha.util.S3TransporterFactory$1.run(S3TransporterFactory.java:49)
at java.lang.Thread.run(Thread.java:748)
原因:在 (clojure/tools/reader.clj:1:1) 编译时发生语法错误。
at clojure.lang.Compiler.load(Compiler.java:7652)
at clojure.lang.RT.loadResourceScript(RT.java:381)
...
原因:java.lang.IllegalAccessError:indexing-reader? 不存在
at clojure.core$refer.invokeStatic(core.clj:4237)
at clojure.core$refer.doInvoke(core.clj:4205)
```
另一个错误的版本。
```
线程 "Thread-7" 中的异常 java.lang.ExceptionInInitializerError
at clojure.tools.deps.alpha.util.S3TransporterFactory.triggerLoad(S3TransporterFactory.java:44)
at clojure.tools.deps.alpha.util.S3TransporterFactory.access$100(S3TransporterFactory.java:29)
at clojure.tools.deps.alpha.util.S3TransporterFactory$1.run(S3TransporterFactory.java:49)
at java.lang.Thread.run(Thread.java:748)
原因:在 (clojure/tools/reader/reader_types.clj:1:1) 编译时发生语法错误。
at clojure.lang.Compiler.load(Compiler.java:7652)
at clojure.lang.RT.loadResourceScript(RT.java:381)
...
原因:java.lang.IllegalAccessError:whitespace? 不存在
at clojure.core$refer.invokeStatic(core.clj:4237)
at clojure.core$refer.doInvoke(core.clj:4205)
```