Статьи

Переход от Maven к Gradle на Яве

В последние несколько лет Apache Maven стал инструментом де-факто для проектов Java и Java EE . Но за последние два года  Gradle набирает все больше и больше пользователей. В этом посте вы узнаете, как использовать Gradle для проектов Java EE .

Gradle — это инструмент автоматизации сборки, такой как Ant или Maven, но представляющий основанный на Groovy язык DSL вместо XML. Так что, как и следовало ожидать, файл сборки является файлом Groovy.

Существуют разные способы установки Gradle , но для меня лучший способ — использовать инструмент sdkman . Для установки инструмента sdkman просто запустите:$ curl -s get.sdkman.io | bash

После этого вы можете запустить sdkman , запустив: $ source "$HOME/.sdkman/bin/sdkman-init.sh"

С установленным sdkman установка Gradle так же проста, как и запуск: $ sdk install gradle

Теперь вы можете начать создавать скрипт сборки. Первое, что нужно сделать, это создать файл settings.gradle, в котором в этом случае мы собираемся установить имя проекта.

rootProject.name = 'my-javaee'

Этот файл также используется в случае проектов с несколькими модулями.

Последний файл, который вам может понадобиться, называется build.gradle, который управляет всем процессом сборки.

apply plugin: 'war'

group = 'org.superbiz'
version = '1.0-SNAPSHOT'
description = "My JavaEE project"

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
mavenCentral()        
}

dependencies {
    providedCompile group: 'javax', name: 'javaee-api', version:'7.0'
}

Обратите внимание, что первая строка указывает, что то, что вы собираетесь построить, является военным проектом. Затем свойства проекта задаются как параметры группы , версии , описания или компиляции Java . Наконец, требуется только одна зависимость с предоставленной областью действия, поскольку реализация обеспечивается сервером приложений.

Обратите внимание, что предоставляемая область действия Compile доступна только в том случае, если вы используете плагин war . Если вы используете другой плагин, такой как java , то вам нужно будет реализовать эту функцию самостоятельно (по крайней мере, на момент написания этого поста в Gradle  2.7).

И все, довольно компактно, всего 16 строк и нет подробной информации. Конечно, теперь вам нужно будет добавить больше зависимостей, таких как JUnit или Arquillian с областью testCompile, или любую другую дополнительную библиотеку, необходимую в вашем коде, такую ​​как хорошо известная зависимость apache-commons ; но это история для другого поста.