在使用lein upgrade
命令将Leiningen(从v1.6升级到v1.7)后,lein swank
停止工作,并显示以下错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError:
Caused by: java.lang.ClassNotFoundException:
[...]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: . Program will exit.
由于我已经尝试过命令行,我相信在这种情况下Emacs配置并不重要。因此,我尝试彻底重新安装Leiningen。以下是我的操作(使用这里和错误信息提供的建议):
rm -R ~/.m2
# rm ~/.lein/plugins/*
lein self-install
我只在第二次重新安装时使用了第二行,所以这里为了完整性而保留。
然后我创建了一个新项目并安装了lein-swank插件,因为据我所知,这是目前推荐的方法:
lein new test-project
lein plugin install swank-clojure 1.4.0 # I tried earlier version (1.3.2) too
最后,使用以下命令启动 lein swank:
cd test-project
lein swank
但是我得到了之前相同的错误。
因此,我的问题是:
- 如何解决这个问题?
- 我是否正确地重新安装了Leiningen或者有一些步骤遗漏了?
更新:这里是使用新项目生成的project.clj
:
(defproject test-project "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.3.0"]])
project.clj
文件。 - liwpproject.clj
是由Leiningen生成的,没有修改。完全是新项目。请注意,从那时起,我已经转移到另一台笔记本电脑上,并且全新的Leinigen安装完美地工作。 - ffriendproject.clj
文件指定了 Clojure 1.2.1 还是 1.3.0。 - liwpproject.clj
文件(如果仍然有意义的话)。 - ffriend