Как установить 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 на значение переменной.
В разделе "Системные переменные" выберите "Путь" и нажмите кнопку "Изменить". В следующем окне нажмите кнопку "Создать" и добавьте путь к каталогу bin распакованных файлов из Gradle.
Ответ 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 в конце.
У меня есть нормальная машина под управлением 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 в переменную.
В разделе Системная переменная выберите Путь и нажмите кнопку Изменить. В следующем окне нажмите кнопку Создать и добавьте путь, указывающий на каталог bin распакованных файлов из Gradle.
Если вы являетесь пользователем 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, и побудила к более подробному изучению и последующему использованию в своих проектах этого инструмента.
Читайте также: