gradlewとgradleの違い


回答:


225

違いは./gradlew、gradleラッパーを使用しているという事実にあります。ラッパーは通常プロジェクトの一部であり、gradleのインストールを容易にします。ラッパーなしでgradleを使用している場合は、手動でインストールする必要があります。たとえば、Macにインストールしてからbrew install gradlegradleコマンドを使用してgradleを呼び出す必要があります。どちらの場合もgradleを使用しますが、前者の方が便利であり、異なるマシン間でバージョンの一貫性を保証します。

各ラッパーは特定のバージョンのGradleに関連付けられているため、特定のGradleバージョンに対して上記のコマンドのいずれかを初めて実行すると、対応するGradleディストリビューションがダウンロードされ、それを使用してビルドが実行されます。

これは、自分でGradleを手動でインストールする必要がないことを意味するだけでなく、ビルドが設計されているバージョンのGradleを使用することもできます。これにより、履歴ビルドの信頼性が向上します

詳細はこちら-https://docs.gradle.org/current/userguide/gradle_wrapper.html

また、Udacityには、gradle wrapperの概念を説明するきちんとした高レベルのビデオがあります-https ://www.youtube.com/watch?v= 1aA949H- shk


8
多分私はそれを間違って読んでいますが、私にとって赤旗のように聞こえます。Gradleには下位互換性がないか、非常に高速に(そして不安定に)進化しているようです。インターネットにアクセスできないCIサーバーではどうなりますか?
インパラー

@TheImpaler Wrapperがインターネットにアクセスできる場合と同様に、必要なすべてのバージョンのGradleをインストールする必要があると思います。
ルスラン

46

gradlewはを使用するラッパー(w-文字)ですgradle

内部でgradlewは、3つの主要な機能を実行します。

  • 正しいgradleバージョンをダウンロードしてインストールします
  • 引数を解析する
  • gradleタスクを呼び出す

Gradle Wrapperを使用すると、プロジェクトを配布/共有して、インストールされていない場合でも、同じバージョンとGradleの機能(コンパイル、ビルド、インストール...)を使用できます。

ラッパー実行を作成するには:

gradle wrapper

このコマンドは以下を生成します:

gradle-wrapper.properties Gradleディストリビューションに関する情報が含まれます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.