295

Gradleはダウンロードしたjarファイルをローカルファイルシステムにどのように保存しますか?Mavenはそれらを。の.m2下のディレクトリにUSER_HOME保存しますが、Gradleはそれらをどこに保存しますか?そこでフォルダを確認しました.gradleが、コンパイルされたスクリプトしか表示されませんでした。

4

15 に答える 15

358

Mac、Linux、Windows、つまり3つの主要なプラットフォームすべてで、Gradleは依存関係を次の場所に保存します。

~/.gradle/caches/modules-2/files-2.1
于 2015-10-18T09:42:14.120 に答える
247

GradleはアーティファクトをUSER_HOME/.gradleフォルダーにキャッシュします。コンパイルされたスクリプトは通常、.gradleプロジェクトフォルダー内のフォルダーにあります。

キャッシュが見つからない場合は、アーティファクトをまだキャッシュしていないことが原因である可能性があります。簡単なスクリプトで、Gradleがアーティファクトをキャッシュした場所をいつでも確認できます。

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.google.guava:guava:12.0'
}

task showMeCache doLast() {
    configurations.compileClasspath.each { println it }
}

これを実行するgradle showMeCacheと、依存関係がキャッシュにダウンロードされ、フルパスが出力されます。

于 2012-05-31T13:25:19.733 に答える
35

Windows 10 PCでは、次の場所に保存されます。

C:\Users\%USERNAME%\.gradle\caches\modules-2\files-2.1\
于 2017-11-17T06:32:55.307 に答える
19

Gradleのローカルリポジトリフォルダは次のとおりです。

  • $ USER_HOME / .gradle / caches / modules-2 / files-2.1

定義された依存関係は、リモートリポジトリからgradleのローカルリポジトリフォルダに読み込まれます。ロードされたファイルごとに、gradleは元のファイル(pom、jar、..)のmd5値で名前が付けられた新しいフォルダーを作成します。依存関係ファイルのフルパスは、以下から構成されます。

  • groupid +Artifactid+バージョン+ FILE_MD5_VALUE + FILE_NAME

定義された依存関係が次の場合:

  • 'org.springframework:spring-jdbc:4.3.4.RELEASE'をコンパイルします

次に、ライブラリがロードされます:

  • /$USER_HOME/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.3.4.RELEASE/ 42175d194cf6aa7c716c0887f30255e5c0a5262c /spring-jdbc-4.3.4.RELEASE.jar
于 2017-07-05T13:09:29.217 に答える
16

実際、キャッシュの場所はGRADLE_USER_HOME環境変数の値によって異なります。デフォルトでは$USER_HOME/.gradle、Unix-OSベースおよび%userprofile%.\gradleWindowsに基づいています。
ただし、この変数を設定すると、キャッシュディレクトリはこのパスから配置されます。

caches\modules-2\files-2.1そして、どのような場合でも、依存関係を見つけるために掘り下げる必要があります。

于 2018-11-21T10:58:27.107 に答える
15

依存関係ファイルを特定のフォルダーに配置する場合は、そのcopyタスクを使用するだけです。たとえば

task copyDepJars(type: Copy) {
  from configurations.compile
  into 'C:\\Users\\athakur\\Desktop\\lib'
}
于 2015-05-24T06:21:46.727 に答える
8

私は窓にいます、

内部の依存関係を見つけることができるはずです

$ USER_HOME.gradle \キャッシュ\アーティファクト-24\ファイルストア

于 2015-06-15T18:36:02.100 に答える
6

多くの答えが正解です!ダウンロード場所を簡単に見つけることができることを付け加えたいと思います

gradle --info build

https://stackoverflow.com/a/54000767/4471199で説明されているように。

ダウンロードした新しいアーティファクトはstdoutに表示されます。

Downloading https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-parent/2.1.7.RELEASE/spring-boot-parent-2.1.7.RELEASE.pom to /tmp/gradle_download551283009937119777bin

この場合、Dockerイメージを使用しましたgradle:5.6.2-jdk12。ご覧のとおり、Dockerコンテナは/tmpダウンロード場所として使用されます。

于 2019-09-09T15:33:43.803 に答える
3

gradle引数--project-cache-dir "/Users/whatever/.gradle/"を使用して、gradleキャッシュディレクトリを強制することができます。

このようにして、使用されているディレクトリを確実に把握できます(また、プロジェクトごとに異なるキャッシュを作成できます)。

于 2018-04-24T15:21:48.497 に答える
2

この答えを探しているときに、私はこれに偶然出くわしました。intellijを使用している場合は、ファイルの場所に移動できますが、プロジェクトエクスプローラーで外部libフォルダーを開き、jarを右クリックして、[ライブラリ設定を開く]を選択します。ここに画像の説明を入力してください

于 2018-10-30T17:48:47.487 に答える
1

Android Gradleプロジェクトの場合、Androidライブラリは$ ANDROID_HOME / extras / android/m2repositoryフォルダーの下にあります。

于 2017-05-04T06:51:27.220 に答える
1

android studioで、次の手順を実行して、gradleでダウンロードされたjarファイルを確認します。

  1. プロジェクト構造ビューを「プロジェクト」に設定します
  2. 利用可能な外部ライブラリセクションの下部で、それを展開します。
  3. ここでは、ダウンロードされたjarファイルを確認できます。 ここに画像の説明を入力してください
于 2017-05-04T09:57:16.940 に答える
1

Eclipseに「Buildship2.0.2」プラグインがインストールされている私のWindowsマシンでは、依存関係が保存されます。

$ USER_HOME.gradle \ caches \ modules-2 \ files-2.1

于 2017-06-12T06:59:41.483 に答える
1

これを理解するのに少し時間がかかりました、それ故に追加の答え。うまくいけば、それは人々の時間を節約することができます。を実行している場合は、を返しsudo gradleても、依存関係がホームディレクトリにない可能性があることに注意してください。私のMacでは、Gradleは依存関係をにキャッシュしていました。sudo echo $HOME/Users/<my-non-root-user>//private/var/root/.gradle/caches/

于 2017-08-11T19:14:27.263 に答える
0

私の場合、Ivyリポジトリを使用していて、Gradleの依存関係はに保存されていました~/.ivy2/

于 2017-08-11T18:50:57.733 に答える