15

次の手順を使用します。

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

いくつかのローカルjarをローカルリポジトリにインストールしました。

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

これは、古いjarのすべてのトレースを削除した場合でも発生するため(私が知る限り)、leinはライブラリのスナップショット/キャッシュを非表示にしますか?

4

3 に答える 3

34

Leiningenは依存関係の管理にMavenを使用しています。Mavenはデフォルトでそのリポジトリをに保存します

$HOME/.m2/repository

leiningenバージョン2より前は、依存関係はにコピーされていまし<projecthome>/libたが、バージョン2以降では、リポジトリを直接指すクラスパスが作成されます。

したがって、ローカルのMavenリポジトリでjarを削除し、(再)ダウンロードを強制する必要があります。

または、スナップショットの依存関係について、mavenがスナップショットの新しいバージョンを1日1回だけチェックすることを知っておくと便利です(デフォルト)。Mavenでは、-Uフラグを使用して強制的に実行できます。ライニンゲンがそれを暴露するとは思わないが、あなたはそうすることができる...。(ただし、barry-warkからの回答を参照してください)

# force update of snapshots before starting repl
$ lein -U repl
于 2012-05-08T18:44:57.537 に答える
13

2では、フラグleinを使用できます。例:-U

lein -U jar
于 2014-08-02T00:43:35.523 に答える
0

.m2フォルダを削除します。そして、それは再フェッチします。

于 2019-04-01T14:44:24.463 に答える