При использовании Leiningen возникла следующая резкая ошибка:
Исключение в потоке "main" java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.getFileUtils () Lorg / apache / tools / ant / util / FileUtils; (core.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) В 2 выше, что именно означает bin/lein
? В моем проекте Leiningen нет каталога bin, а сам Leiningen является скриптом, так что там нет каталога bin?
Большое спасибо за вашу помощь.
Приложение 8/6/11: Что касается конкретной проблемы с Autodoc, я нашел ответвление Autodoc, которое решает проблему для меня. Просто добавьте "[org.clojars.weavejester / autodoc" 0.9.0 "]" в предложение project.clj> defproject> :dev-dependencies
. Затем из командной строки (с каталогом, равным корню вашего проекта leiningen) выполните 'lein autodoc' и немного подождите.