Я пытаюсь с Gradle первый раз. Я пытаюсь с Java-проекта Maven скомпилировать и создать файл JAR. Он компилирует и создает файл jar в каталоге build / libs как
багажник -XXXVERSION-SNAPSHOT.jar
Я запускаю файл сборки gradle из директории trunk этого Java-проекта maven.
Я хочу получить имя проекта (например, project1) в имени файла jar, что-то вроде
project1 -XXXVERSION-SNAPSHOT.jar
в каталоге build / libs. Пожалуйста, предложите.
Попробуйте установить:
archivesBaseName = 'project1'
или
jar.baseName = 'project1'
Вот полное решение:
trunk ˪ build ˪ libs ˪ project1-1.0-SNAPSHOT.jar ˪ build.gradle
build.gradle:
apply plugin: 'java' apply plugin: 'maven' archivesBaseName = 'project1' version = '1.0-SNAPSHOT' group = 'example'
Он производит правильные ZIP, POM и JAR.
Имя проекта по умолчанию берется из каталога, в котором хранится проект. Вместо явного изменения имени файла jar, вы должны установить правильное имя проекта для вашей сборки. На данный момент это невозможно в файле build.gradle. Вместо этого вам нужно создать файл settings.gradle в корневом каталоге. Этот settings.gradle файл должен содержать один вкладыш:
build.gradle
settings.gradle
rootProject.name = 'project1'
Если у вас есть субмобула, вы можете использовать в build.gradle (для jar)
configurations { jar.archiveName = 'submodule-jar.jar' }
Я недавно перешел на gradle 4.6 (из 3. что-то), и
jar { baseName = 'myjarname' }
перестал работать, gradle назвал мой jar из имени папки.
Поэтому я переключился на archivesBaseName = 'myjarname' который работает.
archivesBaseName = 'myjarname'
Может быть, это поможет кому-то еще.