【问题标题】:java.lang.ExceptionInInitializerError while running lein command to instal leiningen运行 lein 命令安装 leiningen 时出现 java.lang.ExceptionInInitializerError
【发布时间】:2019-03-22 16:34:25
【问题描述】:

在 shell 中运行 lein 时,控制台输出为:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at clojure.core$fn__8478.invokeStatic(core.clj:7060)
    at clojure.core$fn__8478.invoke(core.clj:7055)
    at clojure.core__init.load(Unknown Source)
    at clojure.core__init.<clinit>(Unknown Source)
    at java.lang.Class.forName0(java.base@9-internal/Native Method)
    at java.lang.Class.forName(java.base@9-internal/Class.java:378)
    at clojure.lang.RT.classForName(RT.java:2207)
    at clojure.lang.RT.classForName(RT.java:2216)
    at clojure.lang.RT.loadClassForName(RT.java:2235)
    at clojure.lang.RT.load(RT.java:453)
    at clojure.lang.RT.load(RT.java:428)
    at clojure.lang.RT.doInit(RT.java:471)
    at clojure.lang.RT.<clinit>(RT.java:338)
    at clojure.main.<clinit>(main.java:20)
Caused by: java.lang.NoSuchMethodException: no such method:java.lang.reflect.Method.canAccess(Object)boolean/invokeVirtual
    at java.lang.invoke.MemberName.makeAccessException(java.base@9-    internal/MemberName.java:929)
    at java.lang.invoke.MemberName$Factory.resolveOrFail(java.base@9-internal/MemberName.java:1046)
    at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(java.base@9-internal/MethodHandles.java:1683)
    at java.lang.invoke.MethodHandles$Lookup.findVirtual(java.base@9-internal/MethodHandles.java:939)
    at clojure.lang.Reflector.<clinit>(Reflector.java:38)
    ... 14 more
Caused by: java.lang.NoSuchMethodError:java.lang.reflect.Method.canAccess(Ljava/lang/Object;)Z
    at java.lang.invoke.MethodHandleNatives.resolve(java.base@9-internal/Native Method)
    at java.lang.invoke.MemberName$Factory.resolve(java.base@9-internal/MemberName.java:1018)
    at java.lang.invoke.MemberName$Factory.resolveOrFail(java.base@9-internal/MemberName.java:1043)
    ... 17 more

我无法应用线程上提出的解决方案 cannot run lein script。 命令lein version 输出相同。

使用 ubuntu 16.04

update-java-alternatives -l 输出:

java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-1.9.0-openjdk-amd64       1091       /usr/lib/jvm/java-1.9.0-openjdk-amd64

java -version 输出:

openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

$PATH 输出:

/home/camello/bin:/home/camello/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

其实是在尝试安装 Lighttable 编辑器...lol

【问题讨论】:

    标签: java shell leiningen


    【解决方案1】:

    问题是openjdk version "9-internal"

    您必须安装默认的 JRE/JDK。

    清除/删除以前的 JRE/JDK 安装。 更新包索引:

    sudo apt-get update
    

    接下来,安装 Java。具体来说,此命令将安装 Java 运行时环境 (JRE):

    sudo apt-get install default-jre
    

    您可以使用以下命令安装 JDK:

    sudo apt-get install default-jdk
    

    命令java -version 应该输出类似的内容:

    openjdk version "1.8.0_212"
    OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.16.04.1-b03)
    OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
    

    就是这样。

    【讨论】:

      猜你喜欢
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 2015-04-23
      • 2023-01-21
      • 2011-07-06
      相关资源
      最近更新 更多