从 springBoots 'bootJar' gradle 任务中排除特定的依赖项



我需要从 springBootsbootJargradle 任务中排除特定的依赖项(类似于 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()
}

我还从 Andy Wilkinson 的春季启动 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)
}
}

谢谢安迪=(

实际上,你可以将compileOnly用于 gradle> 2.12 的依赖项

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

您仍然可以将其用于测试 + 运行时,但不会在最终构建的 jar 中。

相关内容

  • 没有找到相关文章

最新更新