В этой главе рассказывается о том, как собрать проект Java с помощью файла сборки Gradle.
Прежде всего, мы должны добавить плагин Java в скрипт сборки, потому что он предоставляет задачи для компиляции исходного кода Java, запуска модульных тестов, создания Javadoc и создания файла JAR. Используйте следующую строку в файле build.gradle .
apply plugin: 'java'
Макет проекта Java по умолчанию
Когда вы добавляете плагин в свою сборку, он предполагает определенную настройку вашего Java-проекта (аналогично Maven). взгляните на следующую структуру каталогов.
- src / main / java содержит исходный код Java
- src / test / java содержит тесты Java
Если вы выполните эту настройку, следующий файл сборки будет достаточен для компиляции, тестирования и компоновки проекта Java.
Чтобы начать сборку, введите следующую команду в командной строке.
C:\> gradle build
Исходные наборы могут использоваться для указания другой структуры проекта. Например, источники хранятся в папке src, а не в src / main / java . Взгляните на следующую структуру каталогов.
apply plugin: 'java' sourceSets { main { java { srcDir 'src' } } test { java { srcDir 'test' } } }
Выполнение задачи init
Gradle еще не поддерживает несколько шаблонов проектов. Но он предлагает задачу инициализации для создания структуры нового проекта Gradle. Без дополнительных параметров эта задача создает проект Gradle, который содержит файлы-оболочки Gradle, файлы build.gradle и settings.gradle .
При добавлении параметра —type с java-библиотекой в качестве значения создается структура проекта java, и файл build.gradle содержит определенный шаблон Java с Junit. Посмотрите на следующий код для файла build.gradle .
apply plugin: 'java' repositories { jcenter() } dependencies { compile 'org.slf4j:slf4j-api:1.7.12' testCompile 'junit:junit:4.12' }
В разделе репозитории он определяет, где найти зависимости. Jcenter для разрешения ваших зависимостей. Раздел «Зависимости» предназначен для предоставления информации о внешних зависимостях.
Указание версии Java
Обычно проект Java имеет версию и целевую JRE, на которой он компилируется. Свойство version и sourceCompatibility можно установить в файле build.gradle .
version = 0.1.0 sourceCompatibility = 1.8
Если артефакт является исполняемым Java-приложением, файл MANIFEST.MF должен знать класс с методом main.
apply plugin: 'java' jar { manifest { attributes 'Main-Class': 'com.example.main.Application' } }
Пример:
Создайте структуру каталогов, как показано на скриншоте ниже.
Скопируйте приведенный ниже Java-код в файл App.java и сохраните его в каталоге consumerbanking \ src \ main \ java \ com \ bank .
package com.bank; /** * Hello world! * */ public class App { public static void main( String[] args ){ System.out.println( "Hello World!" ); } }
Скопируйте приведенный ниже Java-код в файл AppTset.java и сохраните его в каталоге customerbanking \ src \ test \ java \ com \ bank .
package com.bank; /** * Hello world! * */ public class App{ public static void main( String[] args ){ System.out.println( "Hello World!" ); } }
Скопируйте приведенный ниже код в файл build.gradle и поместите его в каталог consumerbanking \ .
apply plugin: 'java' repositories { jcenter() } dependencies { compile 'org.slf4j:slf4j-api:1.7.12' testCompile 'junit:junit:4.12' } jar { manifest { attributes 'Main-Class': 'com.example.main.Application' } }
Для компиляции и выполнения вышеуказанного скрипта используйте приведенные ниже команды.
consumerbanking\> gradle tasks consumerbanking\> gradle assemble consumerbanking\> gradle build
Проверьте все файлы классов в соответствующих каталогах и проверьте папку consumerbanking \ build \ lib на наличие файла consumerbanking.jar .