【发布时间】:2018-12-30 04:16:14
【问题描述】:
Linux Manjaro 17.1.11
OpenJDK 64 位服务器 VM(内部版本 10.0.1+10,混合模式)
Java 10.0.1 OpenJDK 64 位服务器虚拟机上的 Leiningen 2.8.1
开始一个新项目进行测试gorilla-repl:
$ lein new app gorilla-test
在 project.clj 中添加了大猩猩:
:plugins [[lein-gorilla "0.4.0"]]
运行时获取异常:
$ lein gorilla
例外:
clojure.lang.Compiler$CompilerException: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter, 编译:(org/httpkit/server.clj:1:1) .....
.....
.....
原因:java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
......
......
试过了:
在 github here 上有一个关于 http-kit 的已解决问题。建议在project.clj中添加以下内容
:jvm-opts ["--add-modules" "java.xml.bind”]
或添加到java启动:--add-modules java.xml.bind
lein 选项没有帮助,我尝试在 shell 中使用 export 的 java 启动选项,但这会导致 JVM 致命异常。
如果有另一种方式来配置 JVM(当然有)我不知道我的方式...... 我通过搜索发现了许多对异常的引用,但没有一个假设不了解 JVM 机制...
编辑(循环工作):
决定回滚到 JVM 8、Java 1.8。
我还在 clojars.com 上找到了更新版本的 gorilla repl。然后去找this one
有效!
也许它可以与新的 Java 运行时一起使用,但我决定一次按下所有按钮...
【问题讨论】:
-
什么“JVM 致命异常”?
-
这是一个阻止java启动的异常,我现在想不起来细节了,因为我尝试了很多东西。最后我恢复到java 1.8。我现在将其添加为编辑。