2

最新のリリースおよび次の 2.0 バージョンと互換性のある Leiningen プラグインを作成しようとしていますが、プラグイン自体を実行する際に問題があります。つまり、コードを記述しlein fooて実行し、プラグイン コード自体で最新バージョンのプラグイン コードを実行したいということです。私の project.clj ファイルは以下のとおりです。

(defproject foo "0.0.0"
  :description "simple version for experiment"
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [fs "1.1.2"]]
  :source-path "src/clj")

src/clj/leiningen フォルダーには、プロジェクト ディレクトリの内容を出力する src/clj/bar/foo-test.clj の関数を呼び出す単純な foo.clj ファイルがあります。ただし、実行するたびにlein foo、CLASSPATH で foo.clj が見つからないと表示されます。すべてのファイルを src/clj から src に移動して:source-pathディレクティブを削除すると、foo.clj で正しい処理が実行されますが、CLASSPATH に fs.clj が見つからないというエラーが表示されます。foo 依存関係を project.clj に追加する必要がなく、変更の間にこれが簡単になることを願っていましたlein install,deps,fooが、現在のところ、それが機能する唯一の方法です。

ご協力ありがとう御座います!

4

1 に答える 1

0

によると: https://github.com/technomancy/leiningen/blob/master/doc/PLUGINS.md:source-path現在:source-pathsLeiningen 2.0 にあり、直接の文字列ではなくベクトルを含む必要があります。

:eval-in-leiningen trueもう 1 つの潜在的なエラーは、プロジェクト ファイルにないことです。leiningen 自体の CLASSPATH を継承する必要があると思います。ただし、それが検索に問題を引き起こしているかどうかはわかりませfs.cljん。

于 2012-07-08T22:13:02.310 に答える