2011-07-23 4 views
4

、私は次の突然のエラーを得ましたant/util/FileUtils; (core.clj:1):私はhttps://github.com/technomancy/leiningen/blob/stable/sample.project.cljhttps://github.com/technomancy/leiningen/blob/master/doc/TUTORIAL.mdでLeiningenをチュートリアルとサンプルproject.cljファイルを読み、私はまだ、次の質問があるleiningenプロジェクトからjarを除外するにはどうすればいいですか? org.apache.tools.ant.util.FileUtils.getFileUtils()Lorg/apacheの/ツール/:スレッド "メイン" java.lang.NoSuchMethodErrorの中</p> <p>例外:Leiningenをを使用している間

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" 

私はhttps://github.com/technomancy/leiningen/issues/194で次の答えを見つけました:

1)上記のの行で、特定のバージョンのjarファイルを除外する方法を教えていない。

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'を実行し、しばらく待ちます。

答えて

8

(1)の回答では、特定のバージョンのAntを除外する必要があると言っているかどうかはわかりませんが、Autodocで取り込まれたAntのバージョンを除外することで問題を解決できる可能性が高くなりますどんなバージョンであっても)。私はそれだけでautodocのが唯一のビルド中に使用されるべきであると仮定すると、ここではDEV-依存関係でそれを除外してきた

(defproject my-project "1.0.0" 
    :dependencies [[org.clojure/clojure "1.2.0"] 
                [org.clojure/clojure-contrib "1.2.0"]] 
    :dev-dependencies [[autodoc "0.7.1" :exclusions [org.apache.ant/ant]]]) 

:あなたのような何かを試みることができます。

Leiningenはスクリプトですが、問題報告では、Leiningenのスクリプトの編集を提案して、LeiningenのCLASSPATHで参照されているディレクトリの順序を変更して問題を修正しています。

関連する問題