Хотите указать имя и версию jar как в build.gradle

Я хочу, чтобы o указывало имя и версию jar в build.gradle, поэтому мой файл build.gradle выглядит ниже.

apply plugin: 'java'

version = "1.00.00"

 dependencies { 
     compile files('../../lib/abc.jar') 
} 

jar{
    manifest{
        attributes ("Fw-Version" : "2.50.00", "${parent.manifestSectionName}")

    }
    archiveName 'abc.jar'
}

Итак, когда я делаю

gradle clean build, что я ожидал, что сгенерированное имя jar будет abc-1.00.00.jar

Но его не происходит, имя выходного jar получает только как abc.jar и его просто игнорирует версию. Я хочу указать имя и версию jar, поэтому как я могу это достичь.

Ответ 1

archiveName 'abc.jar' в вашей конфигурации jar заставляет имя быть "abc.jar". Формат по умолчанию для имени jar: ${baseName}-${appendix}-${version}-${classifier}.${extension}, где baseName - имя вашего проекта, а version - версия проекта. Если вы удалите строку archiveName в своей конфигурации, у вас будет формат, который вам нужен. Если вы хотите, чтобы имя архива отличалось от имени проекта, установите вместо него baseName, например

jar {
    manifest{
        attributes ("Fw-Version" : "2.50.00", "${parent.manifestSectionName}")
    }
    baseName 'abc'
}

Подробнее о настройке задачи jar см. https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:archiveName.