You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改build.gradle配置以生成tar.gz格式Gradle分发包

如何修改Gradle配置生成tar.gz分发包

嘿,我来帮你搞定这个生成tar.gz分发包的问题!其实Gradle的distribution插件本身就支持生成tar.gz格式的包,只需要调整几处配置(还要修正你现有代码里的小问题)就行,具体步骤如下:

1. 确保应用Distribution插件

首先确认你的build.gradle里已经应用了distribution插件,如果还没加,先补上这部分:

plugins {
    id 'distribution'
}

这个插件是Gradle用来生成各类分发包的核心依赖,必须要启用。

2. 修正现有配置的语法错误

你当前的distributions配置里用了中文引号,Gradle会无法识别,先把引号改成英文的,同时修正rename的匹配规则(你写的'..jar’应该是'*.jar'),修正后的配置如下:

distributions {
    main {
        contents {
            into("/")
            from libsDir
            include '*.jar'
            rename '*.jar', "${project.name}.jar"
            from "env"
            include '*.conf'
        }
    }
}

这个配置的逻辑没问题:把libs下的jar包重命名为项目名,再把env目录下的conf文件一起打包到根目录。

3. 生成tar.gz包的两种方式

方式一:直接运行默认任务

Gradle的distribution插件默认提供了distTar任务,运行它就能生成tar.gz包:

  • Linux/macOS终端:./gradlew distTar
  • Windows命令行:gradlew.bat distTar
    生成的包会放在build/distributions目录下,文件名格式是[项目名]-[版本号].tar.gz。

方式二:自定义tar包配置(可选)

如果你想自定义压缩方式、输出文件名或者路径,可以额外配置distTar任务:

tasks.named('distTar') {
    // 指定压缩格式为gzip(默认就是这个,可省略)
    compression = Compression.GZIP
    // 自定义输出文件名,比如去掉版本号
    archiveFileName = "${project.name}.tar.gz"
    // 自定义输出目录,比如放到build下的custom-dist文件夹
    destinationDirectory = file("$buildDir/custom-dist")
}

4. 让build任务自动生成tar.gz(可选)

如果想每次运行build任务时自动生成tar.gz包,把distTar加入到build的依赖中:

build.dependsOn distTar

这样执行./gradlew build时,就会自动触发tar.gz包的生成。

内容的提问来源于stack exchange,提问作者user5771310

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:49:31