如何使用 gradle 将文件夹放入 tar 文件

how to put folder into a tar file with gradle

我是 gradle 的新手。 我想创建一个 filename.tar 文件,其中包含(filename.war 和 data/config/*.properties)。 war 文件保留在 build/libs 中。要求是:在 tar 文件中,我们需要有文件夹 data/config 和该文件夹下的所有属性文件。 war 文件与数据文件夹保持在同一级别。

这是我的,

task tarz(type: Tar) {
 archiveName = 'filename'
 from 'build/libs','data/config'
 include '*.war','*.properties'
 destinationDir = file('build/tar')
 extension 'tar'
 compression = Compression.GZIP
}

上面的脚本只是将属性文件复制到 tar,而不是文件夹。 而且文件名是'filename',不是'filename.tar'

请帮帮我。

这是我所做的

task tarz(type: Tar) {
 archiveName = 'aaa.tar'
 into ('/'){
    from 'build/libs'
    include '*.war'
 }

 into ('data/config'){
    from 'data/config'
    include '*.properties.*'

 }

destinationDir  file('build/tar')
 extension 'tar'
 compression = Compression.GZIP
}

这是我的 Spring 启动应用程序

示例
task tgzTask(type: Tar) {
    into('app/') {
        from 'build/libs'
        include '*.jar'
    }
    into('app/') {
        from 'build/resources/main/banner.txt'
    }
    into('app/config') {
        from 'build/resources/main/config'
        from 'build/resources/main/banner.txt'
    }
    into('app/config/sql') {
        from 'build/resources/main/sql'
    }
    
    destinationDirectory = file('build/distributions')
    extension 'tgz'
    compression = Compression.GZIP
}

了解更多信息Tar manual