Как установить gradle на windows 10

Обновлено: 07.07.2024

пятница, 10 июня 2016 г.

Сборка java проектов Gradle

В заметки дано краткое описание как начать собирать java проекты при помощи Gradle.

Установка Gradle

Для установки Gradle, вам нужно установит сам Gradle.


Теперь у вас есть установленный Gradle. Можно приступить к его настройке.

Настройка proxy Gradle

Если вы у себя настроили прокси сервер и используете его для доступа к интернету, то необходимо настроить прокси в gradle, для этого необходимо провести следующие действия.

В window нужно перейти в паку c:\Users\<USER_NAME>\.gradle\gradle.properties и в нем прописать

Также используя gradlew можно прописать настройки через команды.

Использование Gradle

Прежде чем приступать к разработке проекта и созданию скриптов сборки. Посмотрим стандартные задачи gradle.

Для этого выполним команду


Создадим скрипт hello world. Для этого создадим каталог проекта testgradle. В нем создадим файл build.gradle и внесем в него

И запустим его командой


В итоге получим


Рассмотрим более сложный пример. Создадим в каталоге testgradle следующую структуру:

Внутри src/main/java/hello создадим Java-классы. Для простоты создадим два класса: HelloWorld.java и Greeter.java.

Создадим очень простой build.gradle в корневой папке проекта(там, где src), который содержит только одну строчку:

Эта единственная строчка в конфигурации сборки приносит значительную пользу. Запустите gradle tasks снова и вы увидите новые задачи в списке, включая задачи для сборки проекта, создания JavaDoc и запуска тестов.

Задача gradle build будет выполняться достаточно часто. Эта задача компилирует, тестирует и упаковывает код в JAR-файл. Вы можете запустить её таким образом:

"BUILD SUCCESSFUL" в конце означает, что сборка прошла успешно.

Чтобы увидеть результаты сборки, посмотрите на содержимое каталога build. Здесь вы найдете несколько директорий, среди которых три наиболее значимые:

classes - Скомпилированные .class файлы
reports - Отчеты в течении сборки(такие как отчеты о тестировании)
libs - Библиотеки для сборки проекта(обычно в виде JAR и/или WAR файлов)

Классы в каталоге с .class файлами генерируются во время сборки Java-кода. Соответственно, вы должны найти там HelloWorld.class и Greeter.class.

На данный момент проект не имеет зависимостей от библиотек, поэтому ничего нет в папке dependency_cache.

Каталог отчетов должен содержать отчет о выполнении тестов для проекта. Т.к. проект пока не содержит тестов, данный отчет будет нам неинтересен.

Каталог библиотек должен содержать JAR-файл с названием каталога проекта. В дальнейшем, вы увидите, как указывать имя JAR-файла и его версию.

Простой пример полностью автономный и не зависит от каких-либо дополнительных библиотек. Однако, большинство приложений зависит от внешних библиотек, с реализацией распостраненного и/или сложного функционала.

Добавим в наш пример библиотеку Joda Time для отображения времени.

Во первых, изменим HelloWorld.java, как показано ниже:

Здесь HelloWorld использует Joda Time LocalTime класс для получения и печати текущего времени.

Если бы вы запустили gradle build для сборки проекта сейчас, то получили бы ошибку сборки, потому что вы не объявили Joda Time компилируемую зависимость в сборке.

Во-вторых, необходимо добавить источники сторонних библиотек build.gradle:

Блок repositories означает, что сборка должна разрешать зависимости из Maven Central репозитория. Gradle опирается в основном на многие соглашения и возможности, определенные в инструменте сборки Maven, включая использование Maven Central как источник библиотек зависимостей.

Теперь объявим библиотеку joda-time:

В блоке dependencies описана единственная зависимость Joda Time. В частности, запрашивается(читаем справа налево) версию 2.2 библиотеки joda-time в joda-time группе.

Ключевого слова compile, обозначающее доступность библиотеки во время компиляции(а если бы собирался WAR файл, то была бы включена /WEB-INF/libs папка в WAR). Также существуют другие заметные ключевые слова, среди которых:
providedCompile - Требуемые зависимости для компиляции кода, но которые будут доступны во время работы кода контейнера(например, Java Servlet API)
testCompile - Зависимости, используемые для компиляции и запуска тестов, но не требуемые для компиляции и запуска кода проекта

И наконец, назначим имя для нашего JAR артефакта.

jar блок определяет, как JAR файл будет назван. В данном случае мы получим gs-gradle-0.1.0.jar.

В итоге build.gradle примет вид


Теперь, если мы запустим gradle build, Gradle должен будет загрузить Joda Time зависимость из репозитория Maven Central и успешно собрать проект.

Сборка проекта с Gradle Wrapper

Gradle Wrapper является предпочтительным способом для Gradle сборки. Он содержит bat-скрипты для Windows и shell-скрипты для OS X и Linux. Эти скрипты позволяют запускать сборку с Gradle без необходимости установки самого Gradle в вашу систему. Чтобы это стало возможным, добавьте следующий блок в конец build.gradle:

Запускаем команду для загрузки и инициализации wrapper-скриптов:
После того, как задачи отработают, появится несколько новых файлов. Два скрипта в корневом каталоге, а jar-файл и properties-файл оболочки будут в папке gradle/wrapper. Gradle Wrapper теперь доступен для сборки проекта. Добавим его в систему контроля версий и каждый, кто клонирует проект, сможет его собрать точно таким же способом. Gradle Wrapper можно использовать наравне с установленным Gradle. Wrapper-скрипт для выполнения задачи сборки точно так же, как и ранее:

Ранее, когда запускался wrapper с конкретной версией Gradle, он загружал и кешировал бинарники Gradle для соответствующей версии. Gradle Wrapper спроектирован таким образом, чтобы было возможно сохранить его в репозитории VCS и любой, кто его клонирует, сможет собрать проект без необходимости устанавливать и настраивать Gradle определенной версии.

В результате будет так:

В сборке содержатся два класса Greeter и HelloWorld, как и ожидалось, а также JAR-файл. Окиньте беглым взглядом:

Это содержимое пакета файлов классов. Важно отметить, что даже, если вы и объявили joda-time как зависимость, библиотека не включена в пакет. И JAR-файл будет неспособен к выполнению.

Чтобы сделать этот код выполняемым, мы можем использовать плагинapplication. Добавьте его в build.gradleфайл.

Затем просто запустим приложение командой gradlew run

Остановимся подробнее на упаковке зависимостей. К примеру, если бы мы собирали WAR-файл, общепризнанный формат, ассоциирующийся с упаковкой сторонних зависимостей, мы бы могли использовать WAR плагин. Если вы используете Spring Boot и хотите получить исполняемый JAR-файл, тогда вам пригодится spring-boot-gradle-plugin. На данном этапе, gradle недостаточно знает о выбранной вами системе. Но этого достаточно, чтобы приступить к работе с gradle.

В конечном счете, у вас должен получиться такой build.gradle файл:

Gradle в Eclipse

Для запуска отдельных задач сборки можно использовать Window - Show view - Other - Gradle Tasks.

Я пробовал некоторые пути с помощью пути, но он не работал, потому что, когда я редактирую путь в системных переменных, он открывает все пути, не похожие на учебные пособия, где я должен просто положить:% GRADLE_HOME%\bin в конце.

введите описание изображения здесь

введите описание изображения здесь

ОТВЕТЫ

Ответ 1

Загрузите Gradle и разархивируйте его туда, где вы хотите его установить.

Затем в Windows Search найдите "Система", а затем выберите: "Система" (панель управления)

Нажмите ссылку "Дополнительные системные настройки".

Выберите переменные среды

Затем нажмите кнопку "Создать" под пользовательской переменной и добавьте GRADLE_HOME в имя переменной и путь, указывающий на корневой каталог распакованных файлов из Gradle на значение переменной.

GRADLE_HOME

В разделе "Системные переменные" выберите "Путь" и нажмите кнопку "Изменить". В следующем окне нажмите кнопку "Создать" и добавьте путь к каталогу bin распакованных файлов из Gradle.

Изменить путь variabl

Ответ 2

Если вы пользователь Scoop то Scoop будет лучшим вариантом для установки инструментов, которые вы знаете и любите. Scope - это просто установщик командной строки.

просто запустите эту команду scoop install gradle

Но сначала вам нужно установить scoop с помощью команды powershell

Ответ 3

Загрузите Gradle и разархивируйте его туда, куда вы хотите его установить. Затем откройте окно переменных USER для вашего пользователя (аналогично тому, что вы показываете) и создайте переменную GRADLE_HOME с путем, указывающим на корневой каталог вашего загруженного дистрибутива Gradle. Затем добавьте его в PATH в переменных USER с помощью чего-то вроде:

Обратите внимание, что я добавил существующую переменную PATH к новой. Вы не хотите удалять то, что уже есть. Кроме того, ваше изображение показывает что-то еще, добавленное к пути. Вы хотите добавить это в строку выше, что-то вроде:

Так что это тоже не будет потеряно.

Ответ 4

Ответ 5

choco install gradle в оболочке /cmd.
конечно, сначала нужно установить шоколадку из здесь

Я попробовал несколько способов с помощью пути, но это не сработало. Когда я редактирую путь в системных переменных, он открывает все пути, а не как в учебниках, где я должен просто поставить ;%GRADLE_HOME%\bin в конце.

enter image description here

enter image description here

У меня есть нормальная машина под управлением Windows 10. Какой самый простой способ установить Ruby на Rails на нем? Я нашел несколько разных руководств в интернете, но все они дают разные инструкции. Я ищу путь official, если он вообще существует.

Я пытаюсь установить electron на windows 10, но не работаю. Мое окружение Windows 10, 64-разрядной, 16 ГБ ram. Я установил обновленную версию nodeJS и npm . Мой каталог корневой папки приложения - c:\nodeP\app1, и я попробовал выполнить следующие команды на cmd cd\ компакт nodeP компакт-диск.

Скачайте Gradle и распакуйте его туда, где вы хотите его установить.

Затем в поле поиска Windows найдите "System" и выберите: Система (Панель управления)

Перейдите по ссылке Дополнительные параметры системы.

Щелкните Переменные среды

Затем нажмите кнопку Создать в разделе пользовательская переменная и добавьте GRADLE_HOME к имени переменной и путь, указывающий на корневой каталог распакованных файлов из значения Gradle в переменную.

GRADLE_HOME

В разделе Системная переменная выберите Путь и нажмите кнопку Изменить. В следующем окне нажмите кнопку Создать и добавьте путь, указывающий на каталог bin распакованных файлов из Gradle.

Edit path variabl

Если вы являетесь пользователем Windows, то Scoop будет лучшим вариантом для установки инструментов, которые вы знаете и любите. Scoop -это просто установщик командной строки.

просто выполните эту команду scoop install gradle

Но сначала вам нужно установить scoop с помощью команды powershell

Примечание: если вы получите ошибку, вам может потребоваться изменить политику выполнения (например, включить Powershell) с помощью следующей команды

Скачайте Gradle и распакуйте его туда, где вы хотите его установить. Затем откройте окно USER переменных для пользователя (аналогично тому, что вы показываете) и создайте переменную GRADLE_HOME с путем, указывающим на корневой каталог загруженного дистрибутива Gradle. Затем добавьте его к PATH в ваших переменных USER с чем-то вроде:

Обратите внимание, что я добавил существующую переменную PATH в новую. Вы не хотите удалять то, что уже есть. Кроме того, на вашем изображении показано что-то еще, добавленное к пути. Вы захотите добавить это в строку выше, что-то вроде:

Чтобы он тоже не пропал.

Пожалуйста, обратите внимание: я создал этот проект GitHub прямо здесь , который может быть использован для идеального воспроизведения проблемы, которую я вижу. Java 8 здесь пытается использовать Launch4J через плагин gradle-launch4j Gradle для создания Windows собственного приложения EXE. Я.

choco install gradle в shell/cmd.
конечно, вы должны сначала установить шоколадку отсюда

Chocolatey - менеджер пакетов для Windows.

Похожие вопросы:

Является ли Inspect частью Windows 10 автономного SDK? Есть ли какое-либо альтернативное применение inspect для windows 10? Я хочу установить инструмент inspect на свою машину под управлением.

Свежая установка Windows 10 Home Build 10586. Пытаюсь установить java, файл jdk-8u101-windows-x64.exe. После запуска установщика, как администратор, в диспетчере задач появляется на 2 секунды Java.

Я не могу найти, как можно установить Theano для Python 3.5 (Windows 10) только для Python 2.7. Я не хочу понижаться до 2.7, так что кто-нибудь знает, как установить Theano для Python 3.5 (на.

У меня есть нормальная машина под управлением Windows 10. Какой самый простой способ установить Ruby на Rails на нем? Я нашел несколько разных руководств в интернете, но все они дают разные.

Я пытаюсь установить electron на windows 10, но не работаю. Мое окружение Windows 10, 64-разрядной, 16 ГБ ram. Я установил обновленную версию nodeJS и npm . Мой каталог корневой папки приложения -.

Пожалуйста, обратите внимание: я создал этот проект GitHub прямо здесь , который может быть использован для идеального воспроизведения проблемы, которую я вижу. Java 8 здесь пытается использовать.

Я пытаюсь получить и установить Cassandra на Windows 10(x64). Не удалось загрузить ни одного выпуска Datastax enterprise edition для Windows. Может ли кто-нибудь предложить шаги ,чтобы сделать.

Я только что заметил, что NetBeans 10 был выпущен в декабре 2018 года. Однако я не могу понять, как установить его на windows. Он вообще совместим с windows 10?

После того как я нажал опцию синхронизировать проект с файлами Gradle в Android Studio, где эти загруженные файлы (например, fastutil-7.2.0.jar) помещаются в Windows 10?

Очень много статей о Gradle написано. И со своей стороны хотелось бы добавить в копилку такую пошаговую инструкцию, прочтение которой, я надеюсь, позволит тем, кто плохо знаком с Gradle, “распробовать” и продолжить самостоятельно изучать этот инструмент.

Данная статья не будет подробно описывать такие темы, как плагины gradle (plugin), задачи (task), зависимости (dependencies), автоматическое тестирование и прочие прелести этого сборщика проектов. Во-первых, каждая тема заслуживает отдельной статьи или даже серии статей, а во-вторых, на эти темы уже есть статьи на хабре, например: Gradle: Tasks Are Code, Gradle: Better Way To Build. А еще на официальном сайте Gradle есть прекрасно написанный Gradle User Guide. Я же cфокусирую внимание на непосредственном решении поставленной задачи, и все сопутствующие темы будут описаны в рамках этой самой задачи.
Сначала определимся с целью, что же мы хотим получить на выходе? А цель указана в заголовке статьи. Мы хотим получить проект с несколькими модулями, который собирается с помощью Gradle. И так, приступим.

Шаг 1. Установка gradle

Примечение: Если выхотите просто “поиграть” с gradle, скачав файлы для статьи, или вам достались чужие исходники с волшебным файлом gradlew (gradlew.bat) в корне проекта, то устанавливать gradle не обязательно.

Gradle можно поставить, скачав последнюю версию со страницы загрузок Gradle или воспользовавшись менеджером пакетов в вашей любимой ОС (прим. Я ставил на Mac OS через brew и на Debian через apt-get из стандартных источников)

Результат первого шага:

Шаг 2. Пустой проект, плагины (plugin), обертка (wrapper)

Создадим папку проекта и в ее корне сделаем файл build.gradle со следующим содержимым:

Давайте, рассмотрим подробнее, что мы написали в файле. Тут используется динамический язык Groovy. Использование полноценного языка программирования в gradle дает большую свободу в сравнении со сборщиками пакетов, использующих декларативные языки.
В этом файле мы подключаем плагины java и application . Плагин java содержит в себе такие полезные задачи, как jar — собрать jar архив, compileJava — скомпилировать исходные коды и др. Подробнее о плагине можно почитать тут. Плагин application содержит в себе задачи: run — запуск приложения; installApp — установка приложения на компьютер, эта задача создает исполняемые файлы для *nix и для windows (bat файл); distZip — собирает приложение в zip архив, помещая туда все jar файлы, а также специфические для операционной системы скрипты. Подробнее о плагине в документации.
Теперь остановимся подробней на задаче wrapper . Эта очень полезная задача, наверное, самое гениальное решение, призванное облегчить жизнь программистам. Выполнив $ gradle wrapper , получим следующий результат:

Мы видим, что скрипт создал нам исполняемые файлы gradlew для *nix, gradlew.bat для Windows, а также папки gradle и .gradle. Скрытую папку .gradle можно не включать в репозиторий, там содержатся библиотеки зависимостей. Все основное лежит в gradle и в самом файле gradlew. Теперь мы смело может отдавать наш проект любому человеку, имеющему jdk нужной версии, и он самостоятельно сможет скомпилировать, собрать, установить проект, используя ./gradlew . Заметьте, что моя версия gradle (см. результат команды $ gradle -version выше) отличается от той, которую я указал в файле build.gradle, но это не страшно, поскольку после запуска задачи wrapper, мы получим необходимую версию gradle.


Теперь вместо gradle можно смело использовать gradlew . Кстати, выполнение команды $ ./gradlew без параметров создаст папку .gralde и скачает туда все зависимые библиотеки (о зависимостях ниже). Но выполнение этой команды не обязательно, так как при любом запуске gradle (gradlew), будут проверяться зависимости и скачиваться недостающие файлы. Поэтому, получив проект, в котором лежат файлы gradlew, можно сразу запускать нужную задачу, список которых можно получить по команде ./gradlew tasks

Итоги второго шага (вывод сокращен):

Шаг 3. Заполняем пробелы

На данном этапе мы уже можем выполнять несколько задач gradle . Мы можем даже собрать jar файл, но ничего кроме пустого манифеста там не будет. Настало время написать код. Gradle использует по умолчанию такую же структуру каталогов, что и Maven, а именно

main/java — это java-файлы нашей программы, main/resources — это остальные файлы (*.properties, *.xml, *.img и прочие). В test находятся файлы необходимые для тестирования.
Поскольку тестирование в этой статье рассматриваться не будет, обойдемся созданием папки src/main со всеми вложенными и приступим к созданию нашего приложения. А приложение — это Hello World, в котором будем использовать библиотеку Log4j. Как раз и разберемся, как в gradle работают зависимости. Внесем изменения в файл build.gradle , создадим файл com/example/Main.java с главным классом приложения в папке src/main/java , а также файл с настройками Log4j src/main/resources/log4j.xml . И файл gradle.properties (не обязательно, подробности ниже)

/src/main/java/com/example/Main.java

Рассмотрим изменения в файле build.gradle . Мы добавили переменную mainClassName . Она указывает главный класс нашего приложения и используется плагином application в задаче run . Именно этот класс будет запущен. Также мы добавили переменные sourceCompatibility и targetCompatibility , присвоив им значение JavaVersion.VERSION_1_7 . Это переменные из плагина java , показывают, какая версия jdk нам нужна при сборке. Следующий блок — repositories . В этом блоке мы подключаем репозиторий Maven. Gradle прекрасно с ним “дружит”. Блок dependencies содержит зависимости нашего приложения. Тонкости настройки смотрим в документации. Здесь мы указываем, что для задачи compile необходимо наличие log4j. В примере указан сокращенный синтаксис. Можно написать развернутый вариант и выглядеть он будет так:

Для сравнения аналогичный блок в maven:

Итоги третьего шага:

Видно, что скачивается недостающая библиотека, и продемонстрировано ее использование.

Шаг 4. Достижение цели

У нас уже есть проект, который работает, собирается и запускается через gradle. Осталось доделать самую малость: реализовать многомодульность, заявленную в заголовке статьи, или multi-project, если пользоваться терминологией gradle. Создадим две директории в корне проекта: main_project и library_project . Теперь переместим папку src и файл build.gradle в только что созданную директорию main_project , и создадим в корне новый файл settings.gradle с таким содержимым (об этом файле подробнее тут):

В этом файле мы говорим, как называется наш проект и какие папки подключать (фактически самостоятельные gradle проекты). На данном этапе нам нужна одна папка main_project . После таких изменений мы можем выполнить $ ./gradlew run или с указанием конкретного подпроекта $ ./gradlew main_project:run , и получим тот же результат, что и в конце шага 3. То есть работающий проект. Также можем выполнять все прочие команды jar, build, installApp и так далее. Gradle, если не указывать конкретного подпроекта, будет запускать задачу во всех подключенных подпроектах, у которых эта задача есть (например, если плагин application подключен только к одному подпроекту, у нас это будет main_project, команда $ ./gradlew run запустит run только этого подпроекта)
Теперь создадим код в нашем library_project . Создаем build.gradle и src/main/java/com/example/library/Simple.java

/library_project/build.gradle


/library_project/src/main/java/com/example/library/Simple.java


build.gradle для этого подпроекта намного проще. Используем плагин java и выставляем переменные с версией JDK. В рамках данной статьи этого достаточно. Теперь мы хотим, чтобы gradle узнал о подпроeкте library_project , опишем это в файле settings.gradle :

Теперь мы может собрать jar файл, содержащий нашу библиотеку, командой $ ./gradlew library_project:jar .

Полученный файл можно найти по адресу: /library_project/build/libs/library_project.jar .
А теперь давайте добавим использование класса Simple в main_project . Для этого нужно в файл /main_project/build.gradle добавить строчку compile project(":library_project") в блок dependencies , которая сообщает, что для выполнения задачи compile в этом модуле нужен проект library_project .

Дополнение от MiniM: В gradle символ ":" используется вместо "/" и для более ветвистой структуры ссылки на проект могут выглядеть так ":loaders:xml-loader"

/main_project/build.gradle (блок dependencies )


/main_project/src/main/java/com/example/Main.java

Итог четвертого шага:

Шаг 5 (заключительный). Убираем мусор

Основная цель достигнута, но на данном этапе могли возникнуть вполне закономерные вопросы о дублировании информации в build файлах, более глубокой настройке gradle, а также о том, что изучать дальше. Для самостоятельного изучения, я советую ознакомиться с содержимым ссылок в конце статьи. А пока, давайте приведем в порядок наши build файлы, создав build.gradle в корне проекта и изменив содержимое остальных build файлов

/main_project/build.gradle

В корневом build.gradle мы будем хранить то, что относится ко всем проектам (на самом деле, можно хранить вообще все настройки, но я предпочитаю разделять большие файлы) и то, что не нужно в подпроектах, например, wrapper нам нужен только один, в корне.
В блок subprojects мы помещаем настройки подпроектов, а именно: подключаем плагин java — он нужен всем; выставляем версию jdk; подключаем maven-репозиторий. Также в этом файле мы подключаем плагины idea и eclipse. Эти плагины содержат задачи для генерации файлов проектов для соответствующих IDE. И сюда же переносим задачу wrapper. Она нужна только в корне, чтобы создать общие для всех файлы gradlew.
В подпроектах мы убрали все лишнее и добавили переменную version . Значение этой переменной будет добавляться к jar файлам, например, вместо library_project.jar теперь будет library_project-1.1.beta.jar.
Помимо блока subprojects , можно использовать allprojects или project(':project_name') . Подробнее тут.

На этом я закончу. Надеюсь, данная статья вызвала интерес у людей, не знакомых с Gradle, и побудила к более подробному изучению и последующему использованию в своих проектах этого инструмента.

Читайте также: