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

如何将IntelliJ中Gradle构建的Java项目打Jar包并作为库引入其他项目

将Gradle Java项目打包为Jar并作为依赖引入

一、配置Gradle打包任务(可选但推荐)

Gradle的Java插件自带jar任务,你可以根据需求调整配置:

  • 仅打包自身代码(不含依赖)
    在项目的build.gradle(Groovy)或build.gradle.kts(Kotlin)里添加以下配置,自定义Jar的名称、版本和输出路径:

    // Groovy DSL
    jar {
        archiveBaseName.set("my-library") // Jar名称
        archiveVersion.set("1.0.0") // 版本号
        destinationDirectory.set(file("$projectDir/build/libs")) // 默认输出路径,可自行修改
    }
    
    // Kotlin DSL
    tasks.jar {
        archiveBaseName.set("my-library")
        archiveVersion.set("1.0.0")
        destinationDirectory.set(file("$projectDir/build/libs"))
    }
    
  • 打包包含所有依赖的Fat Jar
    如果你的项目依赖了其他库,想把所有依赖打包到同一个Jar里,用shadowJar插件:

    1. 先在build.gradle中引入插件:
      // Groovy DSL
      plugins {
          id 'java'
          id 'com.github.johnrengelman.shadow' version '8.1.1' // 版本可根据Gradle版本调整
      }
      
    2. 配置shadowJar任务:
      shadowJar {
          archiveBaseName.set("my-library-fat")
          archiveVersion.set("1.0.0")
          mergeServiceFiles() // 合并SPI等服务文件,避免冲突
      }
      

二、生成Jar文件

IntelliJ图形界面操作

  1. 打开右侧的Gradle面板,找到你的项目
  2. 展开Tasks -> build(用shadow插件的话找shadow)
  3. 双击jar(或shadowJar)任务,等待执行完成
  4. 生成的Jar文件会在项目根目录/build/libs/下,找到对应的文件即可

命令行操作

直接在项目根目录执行:

./gradlew jar # 生成普通Jar
# 或者
./gradlew shadowJar # 生成Fat Jar

三、在另一个项目中引入Jar依赖

方式1:本地文件依赖(快速测试用)

把生成的Jar复制到另一个项目的某个目录(比如新建libs文件夹),然后在该项目的build.gradle中添加:

// Groovy DSL
dependencies {
    implementation files('libs/my-library-1.0.0.jar')
    // 用Fat Jar的话替换成对应的文件名
}
// Kotlin DSL
dependencies {
    implementation(files("libs/my-library-1.0.0.jar"))
}

也可以直接用绝对路径引用Jar,不过相对路径更方便。

方式2:本地Maven仓库(长期使用更规范)

把Jar发布到本地Maven仓库,就能像普通第三方依赖一样引用:

  1. 在原项目的build.gradle中添加Maven发布配置:
    // Groovy DSL
    plugins {
        id 'java'
        id 'maven-publish'
    }
    
    publishing {
        publications {
            maven(MavenPublication) {
                from components.java
                groupId = 'com.yourcompany' // 自定义你的groupId,比如公司域名
                artifactId = 'my-library' // 自定义artifactId
                version = '1.0.0' // 版本号
            }
        }
        repositories {
            mavenLocal() // 发布到本地Maven仓库
        }
    }
    
  2. 执行发布任务:在Gradle面板找到Tasks -> publishing -> publishToMavenLocal双击执行,或者命令行:
    ./gradlew publishToMavenLocal
    
  3. 在另一个项目的build.gradle中添加依赖:
    // Groovy DSL
    dependencies {
        implementation 'com.yourcompany:my-library:1.0.0'
    }
    
    // Kotlin DSL
    dependencies {
        implementation("com.yourcompany:my-library:1.0.0")
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:09:25