Uberjar只有依赖

问题描述 投票:0回答:1

我正在使用谷歌云数据流来运行具有大量依赖关系的apache beam作业。通常,除非我对整个项目进行调整,否则数据流将拒绝执行图形,因为依赖项列表太长。

有没有办法只将项目依赖项放在uberjar中,让其余的数据流保持在外面?我认为,因为依赖项是相当静态的,所以当我的项目中只有几个类发生了变化时,我可以节省大量时间来重新加载和重新上载整个uberjar。

java gradle google-cloud-dataflow uberjar shadowjar
1个回答
0
投票

例如,您可以仅使用Jar依赖项创建特定的compile任务

task uberJarDependencies(type: Jar) {
    baseName "dependencies"
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

然后,gradle uberJarDependencies将生产以下jar:build/libs/dependencies.jar

© www.soinside.com 2019 - 2024. All rights reserved.