在使用 Leiningen 时,我遇到了以下突然错误:
线程“main”中的异常 java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.getFileUtils()Lorg/apache/tools/ant/util/FileUtils; (核心.clj:1)
我在以下位置找到了答案https://github.com/technomancy/leiningen/issues/194:
if ant version 1.6.1 is included in a project, lein fails. Autodoc "0.7.1" includes ant version 1.6.1.
a work around is to exclude ant.1.6.1 in the project.clj. <--- *1*
But a better solution is changing the order of lein classpath.
from bin/lein <--- *2*
CLASSPATH="$CLASSPATH:$LEIN_LIBS:$LEIN_DIR/src:$LEIN_DIR/classes:$LEIN_DIR/resources:$LEIN_JAR"
**changes to : **
CLASSPATH="$LEIN_LIBS:$LEIN_DIR/src:$LEIN_DIR/classes:$LEIN_DIR/resources:$LEIN_JAR;$CLASSPATH"
我阅读了 Leiningen 教程https://github.com/technomancy/leiningen/blob/master/doc/TUTORIAL.md以及示例project.clj 文件位于https://github.com/technomancy/leiningen/blob/stable/sample.project.clj,但我还有以下问题:
1) 在标记线处1,上面,我不知道如何排除 jar 文件的特定版本。
2) At 2,上面,到底是什么bin/lein
?我的Leiningen项目没有bin目录,而Leiningen本身就是一个脚本,所以那里没有bin目录?
非常感谢您的帮助。
附录 2011 年 8 月 6 日:对于 Autodoc 的具体问题,我找到了一个 Autodoc 的分支来解决我的问题。只需将“[org.clojars.weavejester/autodoc“0.9.0”]”添加到project.clj> defproject>:dev-dependencies
条款。然后,从命令行(目录等于 leiningen 项目的根目录)执行“lein autodoc”,然后等待一段时间。