我尝试将本地.jar文件依赖项添加到构建中。gradle文件:

apply plugin: 'java'

sourceSets {
    main {
        java {
            srcDir 'src/model'
        }
    }
}

dependencies {
    runtime files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar')
    runtime fileTree(dir: 'libs', include: '*.jar')
} 

您可以看到,我将.jar文件添加到这里的referencedLibraries文件夹:https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1/referencedLibraries

但问题是,当我在命令行上运行命令:gradle build时,我得到以下错误:

error: package com.google.gson does not exist
import com.google.gson.Gson;

这是我的全部回购:https://github.com/WalnutiQ/wAlnut/tree/version-2.3.1


当前回答

公认的答案是好的,但是,我需要在我的多项目Gradle构建中进行各种库配置才能使用相同的第三方Java库。

添加“rootProject美元。projectDir'到'dir'路径元素在我的'allprojects'闭包意味着每个子项目引用相同的'libs'目录,而不是该子项目的本地版本:

//gradle.build snippet
allprojects {
    ...

    repositories {
        //All sub-projects will now refer to the same 'libs' directory
        flatDir {
            dirs "$rootProject.projectDir/libs"
        }
        mavenCentral()
    }

    ...
}

编辑由Quizzie:更改“${rootProject。到$rootProject。projectDir”(适用于最新的Gradle版本)。

其他回答

另一种方式:

在树视图中添加库。右键点击这个。选择菜单“添加为库”。 一个对话框出现,让你选择模块。好了,搞定了。

一个简单的方法是

compile fileTree(include: ['*.jar'], dir: 'libs')

它会编译App中libs目录下的所有。jar文件。

对我来说有效的解决方案是在构建中使用fileTree。gradle文件。 将需要添加为依赖项的.jar保存在libs文件夹中。在build.gradle的依赖块中给出以下代码:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

根据文档,为本地jar依赖项使用相对路径,如下所示。

Groovy的语法:

dependencies {
    implementation files('libs/something_local.jar')
}

Kotlin 语法:

dependencies {
    implementation(files("libs/something_local.jar"))
}

对于Gradle 7.4版本,使用Groovy构建文件

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    implementation ':gson-2.2.4'
}