2017-02-12 2 views
5

Для большей ясности: это НЕ о нескольких версиях зависимостей, речь идет о нескольких версиях собственных банок Gradle.Gradle multiple versions OF GRADLE

Я думал, this может иметь ответ ... но их нет!

Это Gradle 2.14 с ОС Windows 10.

Я нашел, что град постоянно строил новый каталог под каталогом «.gradle» для этого проекта: рядом с законным каталогом «2.14» он продолжал создавать каталог «2.2.1».

Я заглянул под мой каталог, где установлен Gradle: и я нашел непонятным образом несколько версий файлов .jar Gradle в: не только 2,14, но 2,13, 1,7, и да, 2.2.1 ..

Так что я решил вручную удалите 2.2.1. банки. Он прекратил создание «ложного» каталога 2.2.1.

Может ли кто-нибудь сказать мне, как Gradle решает, какую версию он использует? Я бы очень хотел избавиться от этих не-2.14 банок и найти способ предотвратить другие версии, ползущие назад каким-то образом!

+1

Документы [gradle docs] (https://docs.gradle.org/current/userguide/gradle_wrapper.html) рекомендуют хранить градиентную оболочку рядом с исходным кодом, который гарантирует, что пользователи проекта всегда будут работать с предполагаемой версией. Вы можете инициализировать его с помощью 'gradle wrapper'. После этого IDE можно настроить так, чтобы всегда использовать оболочку градиента или использовать «gradlew» на консоли. – ldz

+0

Спасибо за этот указатель. Я прочту это внимательно. –

ответ

4

Может ли кто-нибудь сказать мне, как Gradle решает, какую версию он использует?

Это зависит от того, как вы вызываете град.

Способ 1. Команда gradle будет ссылаться на версию градиента, которая находится в вашем пути GRADLE_HOME.

Способ 2. Использованиеgradle wrapper

A gradlew команды будет вызывать версию Gradle, который выполнен в gradle\wrapper\gradle-wrapper.properties файле вашего проекта, если он уже существует. Если его нет, you can create it - gradle wrapper --gradle-version 3.3. Теперь, когда вы используете gradlew, он всегда будет использовать версию 3.3 градиента.

Рекомендуется использовать оболочку градиента, чтобы вы могли последовательно воспроизводить одну и ту же сборку на разных машинах, где установленные версии градуировки могут отличаться или даже на машинах, где градиль не установлен, поскольку будут использоваться gradlew.bat и gradlew на windows и linux соответственно для начальной загрузки сборки.

Причина, по которой вы нашли несколько версий градиента в каталоге .gradle, может быть из-за того, что ранее вы, возможно, пытались построить с этими версиями для gradle.

+0

Полезно, спасибо. –

Смежные вопросы