Clojure 尝试运行lein时遇到异常
尝试在linux中运行lein时,出现以下异常Clojure 尝试运行lein时遇到异常,clojure,leiningen,Clojure,Leiningen,尝试在linux中运行lein时,出现以下异常 Exception in thread "main" java.lang.NoClassDefFoundError: clojure.core.protocols$fn__5393 at java.lang.Class.initializeClass(libgcj.so.10) at clojure.core.protocols__init.load(Unknown Source:16) at clojure.core.proto
Exception in thread "main" java.lang.NoClassDefFoundError: clojure.core.protocols$fn__5393
at java.lang.Class.initializeClass(libgcj.so.10)
at clojure.core.protocols__init.load(Unknown Source:16)
at clojure.core.protocols__init.<clinit>(Unknown Source)
at java.lang.Class.initializeClass(libgcj.so.10)
at java.lang.Class.forName(libgcj.so.10)
at clojure.lang.RT.loadClassForName(RT.java:1578)
at clojure.lang.RT.load(RT.java:399)
at clojure.lang.RT.load(RT.java:381)
at clojure.core$load$fn__4519.invoke(core.clj:4915)
at clojure.core$load.doInvoke(core.clj:4914)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core__init.load(Unknown Source:5342)
at clojure.core__init.<clinit>(Unknown Source)
at java.lang.Class.initializeClass(libgcj.so.10)
at java.lang.Class.forName(libgcj.so.10)
at clojure.lang.RT.loadClassForName(RT.java:1578)
at clojure.lang.RT.load(RT.java:399)
at clojure.lang.RT.load(RT.java:381)
at clojure.lang.RT.doInit(RT.java:416)
at clojure.lang.RT.<clinit>(RT.java:302)
at java.lang.Class.initializeClass(libgcj.so.10)
at clojure.main.<clinit>(main.java:20)
at java.lang.Class.initializeClass(libgcj.so.10)
at java.lang.Class.forName(libgcj.so.10)
at java.lang.Class.forName(libgcj.so.10)
at jline.ConsoleRunner.main(ConsoleRunner.java:69)
Caused by: java.lang.VerifyError: verification failed at PC 214 in
clojure.core.protocols$fn__5393:invoke((Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Obje ct;)Ljava.lang.Object;): incompatible type on stack
at java.lang.Class.initializeClass(libgcj.so.10)
...25 more
线程“main”java.lang.NoClassDefFoundError中的异常:clojure.core.protocols$fn__5393
位于java.lang.Class.initializeClass(libgcj.so.10)
在clojure.core.protocols\uuu init.load(未知源:16)处
在clojure.core.protocols\uuu init。(未知源)
位于java.lang.Class.initializeClass(libgcj.so.10)
位于java.lang.Class.forName(libgcj.so.10)
位于clojure.lang.RT.loadClassForName(RT.java:1578)
在clojure.lang.RT.load处(RT.java:399)
在clojure.lang.RT.load处(RT.java:381)
在clojure.core$load$fn__4519.invoke处(core.clj:4915)
在clojure.core$load.doInvoke(core.clj:4914)
位于clojure.lang.RestFn.invoke(RestFn.java:408)
在clojure.core\uuu init.load(未知来源:5342)
在clojure.core\uuu init(未知源)
位于java.lang.Class.initializeClass(libgcj.so.10)
位于java.lang.Class.forName(libgcj.so.10)
位于clojure.lang.RT.loadClassForName(RT.java:1578)
在clojure.lang.RT.load处(RT.java:399)
在clojure.lang.RT.load处(RT.java:381)
在clojure.lang.RT.doInit(RT.java:416)
在clojure.lang.RT.(RT.java:302)
位于java.lang.Class.initializeClass(libgcj.so.10)
在clojure.main.(main.java:20)
位于java.lang.Class.initializeClass(libgcj.so.10)
位于java.lang.Class.forName(libgcj.so.10)
位于java.lang.Class.forName(libgcj.so.10)
位于jline.ConsoleRunner.main(ConsoleRunner.java:69)
原因:java.lang.VerifyError:中的PC 214验证失败
clojure.core.protocols$fn__5393:invoke((Ljava.lang.Object;Ljava.lang.Object;Ljava.lang.Obje-ct;)Ljava.lang.Object;):堆栈上的类型不兼容
位于java.lang.Class.initializeClass(libgcj.so.10)
…还有25个
我已经按照他们github页面上的说明进行了操作,但运气不好。我原以为今天开始学习clojure会很有趣,但我遇到的只是问题,我甚至不知道leiningen是什么,只是我显然必须要有它。很抱歉,我有点沮丧 Leiningen是一个构建工具,它可以减轻在新clojure项目中被黑客攻击的痛苦。 在leiningen存在之前,许多人会尝试通过下载jar文件来“安装”clojure,并从源代码构建它。您只需在leiningen project.clj文件中指定要使用的版本,并将其作为该项目的依赖项在本地安装,而无需执行上述任何操作 你参加过:
- lein new hello_clojure
- cd你好
- 编辑project.clj并将其设置为使用clojure 1.3.0
:依赖项[[org.clojure/clojure“1.3.0”]
- 莱因德普斯
- 莱恩·雷普
- (+1234)
- 莱因升级
- rm库/*
- 莱因德普斯
像这样的问题(对我来说)很少见而且通常非常具体,所以也许你最好访问irc.freenode.net上的#clojure并提问。这是一个非常友好的群体,别担心。如果我使用IntelliJ IDEA这样的IDE,是否需要Liningen?我并不真的想使用IDE,但这是唯一可行的。我甚至无法运行clojure 1.4.0 repl而不出错我试着用ant构建clojure,但也没用。哦,天哪,我不知道我是否想麻烦,这太令人困惑了(编辑:好的,我现在开始工作了,我不知道我做了什么,但它正在工作!谢谢你,很抱歉给你添麻烦。leiningen通常是在IDE之外使用的,尽管两者都可以单独使用。你基本上永远不需要构建clojure。不用担心,它值得访问IRC#clojure频道以获得快速交互式帮助在发布leiningen问题时,发布project.clj文件会有很大帮助。
libgcj。因此,stacktrace中的
是一个可怕的危险信号。gcj与任何现实的java程序一样,根本不起作用。非常遗憾的是,一些包管理者宁愿安装gcj而不是openjdk或oracle的jdk,但是如果你想要用java做任何事情,我建议扔掉gcj并安装openjdk。