Как создать 2 jar-файла из одного gradle-проекта с разными зависимостями с помощью загрузочного плагина sring 2.0.x - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь перенести свой проект на последние версии Spring и Spring Boot.Все шло гладко, пока я не столкнулся с этой проблемой.

Один из наших проектов генерирует две версии окончательного Jar-файла, один из которых работает с минимальными зависимостями, а другой - со всеми дополнительными модулями.

Пока яя использовал Spring Boot версии 1.5.x, тогда решение было простым, мы использовали 'customConfiguration`

, когда я использовал старый плагин, мой конфигурационный файл выглядит примерно так

bootRepackage{ 
    customConfiguration = "addons"
}


dependencies {
    compile "my.org:core-lib:1.0.0"
    addons  "my.org:extra-lib:1.0.0"
}

теперь bootRepackage заменен на bootJar, который не обладает свойством customConfiguration.Возможно ли это сделать в последней версии плагина, если да, то может кто-нибудь указать мне правильное направление, пожалуйста.

1 Ответ

0 голосов
/ 15 октября 2018

bootJar является подклассом класса Jar, поэтому вы можете использовать конфигурации задачи Jar здесь.

Пример:

configurations {
    //second jar's configuration
    addons
}

dependencies {
    ....
    // sample dependency
    addons group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.1'
}

task customJar(type: org.springframework.boot.gradle.tasks.bundling.BootJar){
    baseName = 'custom-spring-boot'
    version =  '0.1.0'
    mainClassName = 'hello.Application'
    from {
        // this is your second jar's configuration
        configurations.addons.collect { it.isDirectory() ? it : zipTree(it) }
    }

    with bootJar
}
// add a dependency to create both jars with gradle bootJar Command
bootJar.dependsOn customJar 

(могут быть более простые способы, о которых я не знаю)

...