Clojure gorilla repl和JVM 10异常

Clojure gorilla repl和JVM 10异常,clojure,jvm,leiningen,Clojure,Jvm,Leiningen,Linux Manjaro 17.1.11 OpenJDK 64位服务器虚拟机(构建10.0.1+10,混合模式) 基于Java 10.0.1 OpenJDK 64位服务器虚拟机的Leiningen 2.8.1 启动新项目进行测试: 将gorilla添加到project.clj: :plugins [[lein-gorilla "0.4.0"]] :plugins [[javax.xml.bind/jaxb-api "2.3.0"] [lein-gorilla "0.4.0

Linux Manjaro 17.1.11

OpenJDK 64位服务器虚拟机(构建10.0.1+10,混合模式)

基于Java 10.0.1 OpenJDK 64位服务器虚拟机的Leiningen 2.8.1

启动新项目进行测试:

将gorilla添加到project.clj:

:plugins [[lein-gorilla "0.4.0"]] 
:plugins [[javax.xml.bind/jaxb-api "2.3.0"]
         [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上的http工具包有一个已解决的问题。建议在项目中添加以下内容。clj

:jvm-opts ["--add-modules" "java.xml.bind”]
或者添加到java启动:添加模块java.xml.bind

lein选项没有帮助,我在shell中尝试使用了java启动选项
export
,但这导致了JVM致命的异常

如果有其他方法来配置JVM(当然有),我不知道该怎么做。。。 通过搜索,我找到了许多对异常的引用,但没有一个假设对JVM机制一无所知

示例:

编辑(一轮工作):

决定回滚到JVM 8、Java 1.8

我还在clojars.com上找到了更新版本的gorilla repl。去

工作


也许它可以与新的Java运行时一起工作,但我决定一次按下所有按钮…

另一个选项是添加
[javax.xml.bind/jaxb-api“2.3.0”]
作为依赖项。 但是,与
:jvm opts
类似,依赖项不适用于插件(如
lein gorilla
),因为它们是单独运行的

您可以修改原始插件并将jaxb api添加到它的依赖项中(我在本PR:中这样做了),也可以通过将jaxb api添加到项目中的
:plugins
向量中来“伪造它”。clj:

:plugins [[lein-gorilla "0.4.0"]] 
:plugins [[javax.xml.bind/jaxb-api "2.3.0"]
         [lein-gorilla "0.4.0"]])

什么“JVM致命异常”?这是一个阻止java启动的异常,我现在想不起细节了,因为我尝试了很多东西。最后,我又回到了Java1.8。我现在将它添加为编辑。我可以看到这应该如何工作。我现在无法测试它,因为我现在返回了一个版本。