2016-12-09 3 views
0

現在、私はgradle 2.1のtestRuntime依存関係で問題が発生したことを調査しています。 私はいくつかのファイルをリポジトリに入れてプロジェクトに依存するようにプロジェクトを追加してダウンロードしても問題ないが、このファイルを変更していると、最初にアップロードしたときに無効だったため、プロジェクトでは更新されず、削除して再度ダウンロードする必要があります。 同じ名前のファイルを置くと同じことが起こりますが、更新されません。gradleはファイルが等しくない場合に依存関係を更新しません

リポジトリでファイルが変更された場合、ローカルファイルを更新することは可能ですか?

FYI:--refresh-dependenciesは役に立ちません。

+1

バージョン番号を更新することなく、レポの依存関係を置き換えないでください。これは、マイナーリビジョン番号とまったく同じです。さらに、これが開発中で頻繁に変更が必要な場合は、SNAPSHOT修飾子を使用してください。 SNAPSHOTは、同じバージョン番号を持つ最新のバイナリをフェッチするようにgradleに強制します。 – RaGe

+0

@RaGe私は、ファイルハッシュまたはそのようなsmthで比較してファイルを更新する方法を見つけることを試みています。 –

答えて

0

ここでは、依存関係を変更すると宣言する2つの変種があります。変更とは、アーティファクトがバージョン番号を変更せずにリポジトリ内で変更できることを意味します。 -SNAPSHOTで終わるバージョン番号があれば、Mavenのデフォルトの動作であるため自動的に変更と定義されます。依存関係の変化のアーティファクトは、デフォルトで24時間Gradleによってキャッシュされますが、この期間は設定可能です。

dependencies { 
    testRuntime('org.hibernate:hibernate:3.0.5') { 
     changing = true 
    } 
    testRuntime group: 'org.hibernate', name: 'hibernate', version: '3.0.5', changing: true 
} 

それが唯一のE、リポジトリにもう一度見てのGradle伝えるよう--refresh-dependenciesを使用すると、動作しません。 g。依存関係がリポジトリに見つからないが、現在存在していて、Gradleが依然としてそれが見つからなかったことを覚えている場合。それは変化するモジュールである依存関係を再取得するために働くかもしれませんが、私はこれについては分かりません。

Gradleが変更モジュールとして定義されていないリポジトリの依存関係のアーティファクトを見つけたら、変化していないモジュールは変更されてはならないので、依存関係について再度リポジトリを調べませんバージョンの変更はありません。だから、変更されたものとして定義されずに変更された場合、アーティファクトを再フェッチするために、Gradleキャッシュを削除する必要があります。

関連する問題