Gradle - имя файла jar в плагине Java - PullRequest
49 голосов
/ 21 июля 2011

Я пытаюсь с Gradle первый раз. Я пытаюсь с Java-проекта Maven скомпилировать и создать файл JAR. Он компилирует и создает файл jar в каталоге build / libs как

багажник -XXXVERSION-SNAPSHOT.jar

Я запускаю файл сборки gradle из директории trunk этого Java-проекта maven.

Я хочу получить имя проекта (например, project1) в имени файла jar, что-то вроде

project1 -XXXVERSION-SNAPSHOT.jar

в каталоге build / libs. Пожалуйста, предложите.

Ответы [ 4 ]

89 голосов
/ 21 июля 2011

Попробуйте установить:

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.

47 голосов
/ 21 июля 2011

Имя проекта по умолчанию берется из каталога, в котором хранится проект. Вместо явного изменения имени файла jar, вы должны установить правильное имя проекта для вашей сборки. На данный момент это невозможно в файле build.gradle. Вместо этого вам нужно создать файл settings.gradle в корневом каталоге. Этот settings.gradle файл должен содержать один вкладыш:

rootProject.name = 'project1'
11 голосов
/ 29 ноября 2016

Если у вас есть субмобула, вы можете использовать в build.gradle (для jar)

configurations {
    jar.archiveName = 'submodule-jar.jar'
}
10 голосов
/ 14 июня 2018

Я недавно перешел на gradle 4.6 (из 3. что-то), и

jar {
    baseName = 'myjarname'
}

перестал работать, gradle назвал мой jar из имени папки.

Поэтому я переключился на archivesBaseName = 'myjarname' который работает.

Может быть, это поможет кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...