2012-05-08 3 views
12

にDEPS:は、次の手順を使用して再フェッチローカル瓶/ libsに

http://www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/

私はローカルリポジトリにいくつかの地元のjarファイルをインストールしました。

私のプロジェクトでjarを更新したいときは、jarをリポジトリに再インストールしてからlein depsを実行します。どういうわけか、私のプロジェクトでjarファイルが更新されていないことが分かりました。 libsフォルダ内のすべてのrm -rfを実行しても、新しいjarファイルは取得されません。私がこれを働かせることができる唯一の方法は、瓶の名前を変更することです。

古い瓶のすべての痕跡を(私が知る限り)削除した場合でもこれが起こるので、奇妙なことです - 隙間はlibsのスナップショット/キャッシュを隠すのですか?

答えて

27

Leiningenは依存関係管理にmavenを使用します。前Leiningenをバージョン2にデフォルトストアによって達人

$HOME/.m2/repository 

そのレポ、依存関係は<projecthome>/libにコピーされることになるが、バージョン2以降では、リポジトリに直接指すクラスパスを構築します。

ローカルMavenリポジトリのjarファイルを削除すると、(再)ダウンロードを強制する必要があります。

また、スナップショットの依存関係では、mavenは(デフォルトで)1日に1回、新しいバージョンのスナップショットをチェックするだけです。 Mavenでは、-Uフラグを使用して強制的に実行できます。私はleiningenがそれを公開するとは思わないが、あなたはできる...lein 2では

# force update of snapshots before starting repl 
$ lein -U repl 
+1

ありがとうございました!これはまさに私が探していた情報です。 – hiroprotagonist

+1

lein 2では、jarファイルがプロジェクトのlibディレクトリにコピーされなくなったことに注意してください。 – uvtc

8

(しかし、バリー-覆うWarkからの回答を参照してください)、あなたは-Uフラグを使用することができ、例えば:

lein -U jar