在 Gradle 中用 flatDir 引入本地 JAR 包,需先在项目根目录创建 libs 文件夹并放入 JAR,再在 repositories 中配置 flatDir { dirs 'libs' },然后在 dependencies 中以 implementation name: 'xxx' 方式声明依赖,最后清理旧 fileTree 配置并同步 IDE。

在 Gradle 中用 flatDir 引入本地 JAR 包,核心是把存放 JAR 的目录注册为本地仓库,并通过命名依赖方式声明引用。这种方式比直接用 fileTree 更可靠,能让 IDE 正确识别类、支持代码补全,也避免运行时 ClassNotFoundException。
1. 创建并放置 JAR 文件
在项目根目录(即 build.gradle 所在位置)下新建文件夹,比如 libs,把你要用的 JAR 文件放进去。例如:
./libs/my-utils.jar./libs/legacy-api.jar
路径必须是相对项目根目录的,不要用绝对路径。
2. 配置 flatDir 仓库
在 build.gradle 的 repositories 块中添加 flatDir 声明:
repositories {
mavenCentral()
flatDir {
dirs 'libs' // 注意:这里写的是文件夹名,不是完整路径
}
}
如果 JAR 在 app/libs 下,就写 dirs 'app/libs';如果在 project/libs,就写 dirs 'libs'。
3. 声明命名依赖
在 dependencies 块中,用 name 参数引用 JAR,不带后缀、不带版本号:
dependencies {
implementation name: 'my-utils' // 对应 my-utils.jar
implementation name: 'legacy-api' // 对应 legacy-api.jar
}
名称必须与文件名完全一致(包括大小写),不能写成 my-utils.jar 或 my-utils-1.2.0。
4. 清理旧配置并同步 IDE
确保已移除类似下面的旧写法,避免冲突:
implementation fileTree(dir: 'libs', includes: ['*.jar'])compile files('libs/xxx.jar')
改完 build.gradle 后,在 IntelliJ IDEA 中点击右上角的 Reload project(或 Gradle 工具窗口里的刷新按钮),否则 IDE 不会更新索引,类仍然无法识别。











