Різниця між використанням gradlew і gradle


Відповіді:


225

Різниця полягає в тому, що ./gradlewвказуєш на те, що ти використовуєш оболонку з граду. Обгортка, як правило, є частиною проекту, і це полегшує встановлення граду. Якщо ви використовували gradle без обгортки, вам доведеться встановити його вручну - наприклад, на mac, brew install gradleа потім викликати gradle за допомогою gradleкоманди. В обох випадках ви використовуєте gradle, але перший є більш зручним і забезпечує сумісність версій на різних машинах.

Кожен Wrapper прив’язаний до певної версії Gradle, тому коли ви вперше запустите одну з команд вище для даної версії Gradle, він завантажить відповідний розподіл Gradle і використає його для виконання збірки.

Це не тільки означає, що вам не доведеться самостійно встановлювати Gradle, але ви також обов'язково використовуєте версію Gradle, для якої створена збірка. Це робить ваші історичні конструкції більш надійними

Детальніше читайте тут - https://docs.gradle.org/current/userguide/gradle_wrapper.html

Також Udacity має акуратне відео високого рівня, що пояснює концепцію обгортки gradle - https://www.youtube.com/watch?v=1aA949H-shk


8
Можливо, я читаю це неправильно, але це звучить як червоний прапор для мене. Здається, що Gradle не є сумісним назад, або розвивається дуже швидко (і нестабільно). Що відбувається з серверами CI, які не мають доступу до Інтернету?
The Impaler

@TheImpaler Я думаю, вам доведеться встановити всі необхідні версії Gradle, як Wrapper, якби він мав доступ до Інтернету.
Руслан

46

gradlewце обгортка (w - символ), яка використовує gradle.

Під капотом gradlewвиконується три основні речі:

  • Завантажте та встановіть правильну gradleверсію
  • Розбираємо аргументи
  • Назвіть gradleзавдання

За допомогою Gradle Wrapper ми можемо розповсюджувати / спільно використовувати проект для всіх, щоб використовувати ту саму версію та функціональність Gradle (компілювати, будувати, встановлювати ...), навіть якщо він не був встановлений.

Щоб створити запуск обгортки:

gradle wrapper

Ця команда генерує:

gradle-wrapper.properties міститиме інформацію про розподіл Gradle

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.