首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure大猩猩爬虫和JVM 10异常

Clojure大猩猩爬虫和JVM 10异常
EN

Stack Overflow用户
提问于 2018-07-22 15:12:10
回答 1查看 576关注 0票数 2

Linux 17.1.11

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

Java10.0.1的Leiningen 2.8.1 OpenJDK 64位服务器VM

启动一个测试大猩猩的新项目

代码语言:javascript
复制
$ lein new app gorilla-test

在project.clj中添加了大猩猩:

代码语言:javascript
复制
:plugins [[lein-gorilla "0.4.0"]] 

运行时获取异常:

代码语言:javascript
复制
$ 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中

代码语言:javascript
复制
:jvm-opts ["--add-modules" "java.xml.bind”]

或者添加到java启动:--add-modules java.xml.bind

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

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

例子:1 2

编辑(工作-一轮):

决定回滚到JVM 8,Java1.8。

我还在clojars.com中找到了更新版本的大猩猩爬虫。然后去找这一个

行得通!

也许它可以用于新的Java运行时,但是我决定一次按下所有的按钮.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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向量中“伪造”它:

代码语言:javascript
复制
:plugins [[javax.xml.bind/jaxb-api "2.3.0"]
         [lein-gorilla "0.4.0"]])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51466464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档