Linux 17.1.11
OpenJDK 64位服务器VM (构建10.0.1+10,混合模式)
Java10.0.1的Leiningen 2.8.1 OpenJDK 64位服务器VM
启动一个测试大猩猩的新项目
$ 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 . .
Tried:
github 这里上有一个http的封闭性问题。建议将以下内容添加到project.clj中
:jvm-opts ["--add-modules" "java.xml.bind”]或者添加到java启动:--add-modules java.xml.bind
lein选项没有帮助,我尝试在shell中使用export启动java选项,但这造成了JVM的致命异常。
如果有另一种方法来配置JVM (当然有),我不知道该怎么做.我通过搜索找到了许多对异常的引用,但没有一个假设不了解JVM机制.
编辑(工作-一轮):
决定回滚到JVM 8,Java1.8。
我还在clojars.com中找到了更新版本的大猩猩爬虫。然后去找这一个
行得通!
也许它可以用于新的Java运行时,但是我决定一次按下所有的按钮.
发布于 2018-07-27 22:10:55
另一个选项是将[javax.xml.bind/jaxb-api "2.3.0"]添加为依赖项。但是,与:jvm-opts类似,依赖项不适用于插件(如lein-gorilla),因为它们是单独运行的。
您可以修改原始插件并将jaxb-api添加到它的依赖项(我在这个PR:https://github.com/JonyEpsilon/lein-gorilla/pull/12中这样做了),也可以通过将jaxb添加到project.clj中的:plugins向量中“伪造”它:
:plugins [[javax.xml.bind/jaxb-api "2.3.0"]
[lein-gorilla "0.4.0"]])https://stackoverflow.com/questions/51466464
复制相似问题