编程语言
首页 > 编程语言> > leiningen无法运行因为java类未找到异常

leiningen无法运行因为java类未找到异常

作者:互联网

我最近 – 就像今天一样 – 开始对学习用clojure编程感兴趣.现在安装了最新版本的java的jdk并下载了leiningen脚本后,我按照后者的安装说明,特别是在http:/www.lispcast.com/clojure-ubuntu给出的安装说明.

现在,在运行lein版本并下载相关的jar文件之后,程序退出并显示有关未找到类的错误.有问题的错误如下:

Exception in thread “main” java.lang.ExceptionInInitializerError
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)>
at clojure.lang.RT.classForName(RT.java:2168)
at clojure.lang.RT.classForName(RT.java:2177)
at clojure.lang.RT.loadClassForName(RT.java:2196)
at clojure.lang.RT.load(RT.java:443)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
at clojure.core$load.invokeStatic(core.clj:5892)
at clojure.core$load.doInvoke(core.clj:5876)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core__init.load(Unknown Source)
at clojure.core__init.(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at clojure.lang.RT.classForName(RT.java:2168)
at clojure.lang.RT.classForName(RT.java:2177)
at clojure.lang.RT.loadClassForName(RT.java:2196)
at clojure.lang.RT.load(RT.java:443)
at clojure.lang.RT.load(RT.java:419)
at clojure.lang.RT.doInit(RT.java:461)
at clojure.lang.RT.(RT.java:331)
at clojure.main.(main.java:20)
Caused by: java.lang.ClassNotFoundException: java/sql/Timestamp
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at clojure.lang.RT.classForName(RT.java:2168)
at clojure.lang.RT.classForNameNonLoading(RT.java:2181)
at clojure.instant$loading__5569__auto____6869.invoke(instant.clj:9)
at clojure.instant__init.load(Unknown Source)
at clojure.instant__init.(Unknown Source)
… 23 more

我的java 9 jdk安装在/usr/lib / jvm / java-9-oracle / bin / java中,我的JAVA_HOME变量设置为/usr/lib / jvm / java-9-oracle但我试过/usr/lib / jvm / java-9-oracle / bin,以防万一.我正在运行xubuntu 16.04.3,如果这是重要的.我确实尝试将默认的java jdk设置回与xubuntu捆绑在一起的openjdk,但这也无济于事.

顺便说一下,整个问题的起源是因为我尝试运行REPL
在安装了草书插件之后的intellij中,这不起作用.然后我猜测可能是因为我之前没有安装leiningen(我认为IDE和草书会捆绑在一起).然而,关于intellij和clojure成功运行所需的实际信息却让我望而却步,因为大部分信息都是“分散的”,我不确定我是否遗漏了一些东西.

在任何情况下,我都很难让一切工作 – 可能是因为我不熟悉这些类型的问题,只是在一段时间内在Linux发行版上以及完全不熟悉clojure.如果我遗漏了一些明显的东西,我会道歉,但是有理由认为只有在证明是这样的情况下,某些事情才会显而易见.

任何和所有建议将不胜感激.

解决方法:

这看起来像Java 9的新模块“模块”引起的问题:Clojure希望能够访问java.sql.Timestamp,但它不能.我没有跟上Java开发或Clojure开发的步伐,所以我不能确定这是你的问题,但它看起来对我来说.尝试使用早期的JDK.

标签:java,linux,intellij-idea,clojure,leiningen
来源: https://codeday.me/bug/20190519/1132868.html