Исключить определенную зависимость из задачи Gradle SpringBoots `bootJar` - PullRequest
0 голосов
/ 26 июня 2018

Мне нужно исключить определенную зависимость из SpringBoots bootJar Задача gradle (аналогично предоставленной области действия в maven).

Я пробовал настраиваемую конфигурацию, но dependency-which-should-not-be-in-bootJar все еще включен в получившийся jar.

configurations{
    provided
    implementation.extendsFrom provided
}

dependencies {
    // ...
    provided "dependency-which-should-not-be-in-bootJar"
}

jar {
    from configurations.compile - configurations.provided
    from configurations.runtime
}

bootJar {
    from configurations.compile - configurations.provided
    from configurations.runtime
    launchScript()
}

Ответы [ 2 ]

0 голосов
/ 02 июля 2018

Я также получил ответ от Энди Уилкинсона в канале Gitter с пружинной загрузкой, который работает немного по-другому, но сумел добиться подобного.

configurations {
    custom
    runtime.extendsFrom custom
}

dependencies {
    compile 'org.springframework.boot:spring-boot-starter-web'
    custom 'com.h2database:h2'
}

bootJar {
    exclude {
        configurations.custom.resolvedConfiguration.files.contains(it.file)
    }
}

Спасибо, Энди =)

0 голосов
/ 30 июня 2018

Вы можете использовать compileOnly для зависимости с gradle> 2.12

dependencies {
     // ...
     compileOnly "dependency-which-should-not-be-in-bootJar"
}

Он все еще будет у вас для теста + времени выполнения, но не в окончательной сборке.

...