当我在项目根文件夹中输入lein repl
时收到错误消息。我试图删除主文件夹中的.lein目录并重新下载lein,但它对我不起作用。
可能重复: ExceptionInInitializerError when using leiningen
Exception in thread "Thread-1" java.util.zip.ZipException: zip file is empty
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:214)
at java.util.zip.ZipFile.<init>(ZipFile.java:144)
at java.util.jar.JarFile.<init>(JarFile.java:153)
at java.util.jar.JarFile.<init>(JarFile.java:117)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at clojure.lang.Reflector.invokeConstructor(Reflector.java:180)
at leiningen.core.classpath$extract_native_deps.invoke(classpath.clj:43)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:617)
at leiningen.core.classpath$when_stale.doInvoke(classpath.clj:66)
at clojure.lang.RestFn.invoke(RestFn.java:580)
at leiningen.core.classpath$resolve_dependencies.doInvoke(classpath.clj:231)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at leiningen.core.eval$prep.invoke(eval.clj:54)
at leiningen.core.eval$eval_in_project.invoke(eval.clj:282)
at leiningen.repl$start_server.invoke(repl.clj:117)
at leiningen.repl$server$fn__6110.invoke(repl.clj:173)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:617)
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1788)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.core$apply.invoke(core.clj:621)
at clojure.core$bound_fn_STAR_$fn__4102.doInvoke(core.clj:1810)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
编辑: 我在ubuntu 12.10 64bit机器上运行leiningen 2.1.2。
注意:如果我在项目根文件夹之外运行lein repl
,那就没问题。
答案 0 :(得分:4)
通过运行
使用lein2,我成功地解决了这个问题lein clean
我的下一个猜测是将〜/ .m2 /存储库移开,然后再试一次。
答案 1 :(得分:0)
没有什么能对我有用(清洁,吹走〜/ .m2)。我甚至去了另一台机器。然后我想也许lein
混淆了看到这两个条目:
:jar-name "my-server.jar"
:uberjar-name "my-server.jar"
所以我评论了:uberjar-name
并运行lein jar
并且它没有给我例外 - 一直到最后。
答案 2 :(得分:0)
这是因为您不能将uberjar命名为与leiningen内部命名的jar文件相同。 只需确保在您的:uberjar ...:uberjar-name中添加诸如“ name-0.1.0- STABLE ”之类的东西,或诸如SNAPSHOT或LATEST之类的东西。