Gradle

Gradle

官网: http://gradle.org/
教程:juejin.cn/post/6932813521344430094#heading-99

安装

环境变量设置
将 bin目录配置 GRADLE_HOME 变量, 新建一个文件夹作为仓库,路径配置为 GRADLE_USER_HOME
将2者都加入path路径,名字不能错
IDEA内设置:
--idea的gradle的设置中将Grade user home 改为仓库地址
--distribution改为 local installation 地址修改为gradle的地址
镜像加速
在idea内创建gradle项目时,选择local installation创建,然后在 gradle-wrapper.properties 内修改distributionUrl
改为阿里云或其他的路径,加快速度
官网地址:https://services.gradle.org/distributions/

腾讯云镜像 Gradle下载地址:https://mirrors.cloud.tencent.com/gradle/

阿里云镜像 Gradle下载地址:https://mirrors.aliyun.com/macports/distfiles/gradle/

阿里云镜像 Gradle下载地址:https://mirrors.aliyun.com/gradle/

需要在地址后面跟上gradle-8.8-all.zip 版本可变

distributionUrl=https://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.8-all.zip

依赖配置

dependencies {
    implementation 'com.google.code.gson:gson'
    implementation 'dom4j:dom4j'
}

compileOnly —用于编译生产代码所必需的依赖关系,但不应该属于运行时类路径的一部分
implementation(取代compile)-用于编译和运行时
runtimeOnly(取代runtime)-仅在运行时使用,不用于编译
testCompileOnly—与compileOnly测试相同
testImplementation —测试相当于 implementation
testRuntimeOnly —测试相当于 runtimeOnly

镜像加速

依赖镜像:

repositories {
    maven{url = uri("https://maven.aliyun.com/repository/public")}
    mavenCentral()
}

插件镜像:
​ 在setting.gradle.kts内顶部添加

pluginManagement {
    repositories {
        maven("https://maven.aliyun.com/repository/public")
        mavenCentral()
        gradlePluginPortal()
    }
}

打包

利用shadow插件:

  1. 首先,在你的 build.gradle 文件中引入 shadowJar 插件:
plugins {
    id("com.github.johnrengelman.shadow") version "8.1.1"
}
  1. 然后,可选地配置 shadowJar 任务,比如指定输出的 jar 文件的名字:
tasks {
    shadowJar {
        archiveBaseName.set("myapp")  // JAR 包基础名称
        archiveVersion.set("1.0.0")    // 版本号
        archiveClassifier.set("")      // 去除分类器(默认是 -all)

        // 设置主类(必须与实际入口类完全一致!)
        manifest {
            attributes["Main-Class"] = "top.littleD.MainKt"  // 替换为你的主类路径
        }

        // 压缩优化(可选)
        minimize()
    }
}
  1. 运行 shadowJar 任务:
gradle shadowJar

构建完成后,你会在 build/libs/ 目录下找到名为 myapp-1.0.0.jar 的 fat jar 文件。这个 jar 包含了你的项目的所有依赖。

posted @ 2025-08-12 22:22  LittleD-  阅读(25)  评论(0)    收藏  举报