gpt4 book ai didi

java - Gradle - 更改主要发行版 - 删除 bin 和 lib 文件夹

转载 作者:行者123 更新时间:2023-11-30 02:33:23 25 4
gpt4 key购买 nike

我有一个应用了应用程序插件的 Gradle 构建。应用程序插件还应用分发插件并创建默认的 main 分发,这会将启动脚本放置在 bin 文件夹中,并将依赖项放置在 lib 中。

现在我想完全删除该默认行为并拥有自己的发行版,但名称相同main。更准确地说,我不需要 binlib 文件夹,而是想要我的自定义内容。

我知道我可以轻松定义一个新的发行版,例如

distributions {
my {
// my configuration here
}
}

这样我就可以通过 myDistZip 生成所需的分发。

但我想准确更改 main 发行版,以便我能够通过简单的 distZip (或 distTar)生成存档。

我尝试删除主发行版(通过 distributions.remove(distributions.main))并创建新发行版

distributions {
main {
// my configuration here
}
}

但是失败了

Cannot add task ':distZip' as a task with that name already exists.

我猜这只是因为 Gradle 为每个新发行版创建了 distZip 任务,因此它也尝试为新的 main 执行此操作,但是 distZip 任务已在插件应用期间创建。

那么有没有办法改变 main 发行版以摆脱 binlib 文件夹?

等级:3.5

最佳答案

But I want to change exactly main distribution so I will be able to produce archive via simple distZip (or distTar).

似乎您不必更改 main 发行版 - distribution 插件的文档(由 application 插件自动添加)注释对于每个发行版,您可以使用 gradle myDistZip

但是,您似乎也应该能够配置现有的 main 发行版:

distributions {
main {
contents {
// configure
}
}
}

虽然您似乎无法重置现有值,但也许您可以使用排除来不复制特定文件夹(请参阅 https://docs.gradle.org/current/javadoc/org/gradle/api/file/CopySpec.html )

关于java - Gradle - 更改主要发行版 - 删除 bin 和 lib 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43734274/

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