gpt4 book ai didi

java - 使用 Gradle 5.x 创建 Jar 和 Tar

转载 作者:行者123 更新时间:2023-12-02 01:26:23 25 4
gpt4 key购买 nike

我正在为要迁移到其中的遗留项目编写一个新的 Gradle 脚本。

我最初使用 Gradle 4.x DSL 编写脚本,但我决定将其升级到 5.x,以便更好地适应 future 。

我的任务之一是通过设置 jar 名称和扩展名来创建 jar,并在项目根目录的文件夹下创建一个新文件。

当我将脚本迁移到 gradle 5.X 时,以下属性已被弃用:

基本名称、扩展名、存档名称和目标目录。

我已尝试将这些属性调整为新约定,但我遇到了无法找到这些属性的问题:

Could not set unknown property 'archiveDestinationDirectory' for task ':jar' of type org.gradle.api.tasks.bundling.Jar."

我尝试过在线寻找解决方案,但尚未找到正确的方法或使用 Gradle 5.x 的示例

现在第二个问题围绕着创建 tar 的概念。我再次没有找到很好的例子来证明这一点。到目前为止,我的脚本执行此操作,这将创建一个 tar 但不保留正确的文件层次结构:

task createTar(type: Tar) {
archiveBaseName = 'info_tar'
archiveExtension = 'gz'
compression = Compression.GZIP
from ('..') {
include('bin/**')
include('sounds/**')
include('classes/**')
}
archiveFileName = archiveBaseName.get() + '.' + archiveExtension.get()
//cleanup of temporary directories
delete BIN_TARGET, SOUNDS_TARGET, CLASSES_TARGET
}

我的目标是生成一个包含文件夹 bin、声音、类的 tar。有人可以帮助实现这一目标吗?

最佳答案

  • 基本名称:The documentation显示它已被弃用,取而代之的是 archiveBaseName
  • 扩展名:The documentation显示它已被弃用,取而代之的是 archiveExtension
  • 存档名称:The documentation显示它已被弃用,取而代之的是 archiveFileName
  • destinationDir :文档显示它已被弃用,取而代之的是 destinationDirectory

Jar 中没有 archiveDestinationDirectory 属性。 The documentation显示正确的属性名为 destinationDirectory

要将目录本身包含到 tar 中,您需要使用,而不是您正在使用的:

from('..') {
include('bin/**')
include('sounds/**')
include('classes/**')
}

关于java - 使用 Gradle 5.x 创建 Jar 和 Tar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56855216/

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