2016-10-13 10 views
4

私は別のgradleプロジェクトに依存しているgradleプロジェクトを持っています。依存関係は社内のネクサスサーバに公開されており、問題なく解決できます。Gradleはスナップショットの依存関係を更新しません

依存関係がローカルにキャッシュされたら、gradleコマンドに--refresh-dependenciesを渡す(またはキャッシュから手動で削除する)まで、リフレッシュすることはできません。

インターネットを捜索持つ私は同じ問題を多くの人々を発見し、提案は(これは厳密には必要ではないが、それは名前-snapshotから暗黙的であるように)変更などの依存関係をマークすると、これを追加することでした。

configurations.all { 
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds' 
} 

しかし、これは私のためには機能しません。常にデフォルトの24時間が経過するまでキャッシュされたバージョンが使用されてから、それを再ダウンロードします。

他に何が紛失しているのか、あるいはどのようにgradleが何をしているのか、そしてどうして新しいバージョンをダウンロードするためにネクサスに行かないのかを誰かが知っていますか?

+0

まあ、この理由から、 '--refresh-dependencies'オプションがあります。 – Henry

+0

しかし、これはSNAPSHOTだけでなく、すべての依存関係を更新するので、キャッシュを無意味にするので、私がやりたいことではありません。 – DaveJohnston

+0

依存関係を明示的に変更するのに役立ちますか? ' – Alpar

答えて

8

いくつか試行錯誤した結果、私たちはspring-bootプラグインを使用していたため、機能が期待通りに機能していなかったことが判明しました。常にダウンロードするモジュールを変更Gradleのファイル軍にこのスニペットを追加する

dependencyManagement { 
    resolutionStrategy { 
     cacheChangingModulesFor 0, 'seconds' 
    } 
} 

spring-bootプラグインは、変更モジュールのための独自の構成を持っている独自の依存関係の管理プラグインを使用しています。

関連する問題