gpt4 book ai didi

java - Gradle:多个 JAR,无需多个项目

转载 作者:行者123 更新时间:2023-11-30 02:38:47 27 4
gpt4 key购买 nike

我有一个库,用于使用 Gradle 构建许多 CLI 工具。每个 CLI 工具都是一个单独的 JAR。目前,每个工具都需要一个单独的 Gradle 项目,以及一组关联的目录,如下所示:

enter image description here

拥有所有这些结构会导致整个工具集变得非常笨重且难以使用。有没有办法将所有不同的 Main 收集到一个文件夹中(适当重命名)并配置 Gradle 将每个文件夹转换为单独的 JAR?

FWIW,JAR 当前是使用 https://github.com/johnrengelman/shadow 创建的。 JAR 大小并不重要。

提前致谢。

最佳答案

Jars 只是 zip 文件,其中包含 META-INF 文件夹。使用 Zip 任务来创建它们,并使用 dependsOn 将任务作为构建序列的一部分来运行。

我有如下代码用于更改 jar 文件:

task changeJar (type: Zip) {
baseName project.name
extension 'jar'
destinationDir new File('build')
entryCompression ZipEntryCompression.STORED
from { zipTree(new File(core.libsDir, core.name + '.jar')) }
from ( <somewhere else> ) {
exclude 'META-INF/'
}
}

关于java - Gradle:多个 JAR,无需多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42367845/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com