我尝试将本地.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文件,然后点击同步选项

dependency{
    compile files('path.jar')
}

其他回答

我无法在https://stackoverflow.com/a/20956456/1019307上得到上面的建议。不过这对我来说很管用。对于我存储在项目根目录libs/目录中的secondstring-20030401.jar文件:

repositories {
    mavenCentral()
    // Not everything is available in a Maven/Gradle repository.  Use a local 'libs/' directory for these.
    flatDir {
       dirs 'libs'
   }
}

...

compile name: 'secondstring-20030401'

你可以添加jar做:

对于gradle,只需在build.gradle中放入以下代码:

dependencies {
...
compile fileTree(dir: 'lib', includes: ['suitetalk-*0.jar'])
...
}

对于maven,只需遵循以下步骤:

Intellij: 文件->项目结构->模块->依赖选项卡->点击+号-> jar和依赖->选择jar你想导入->ok ->应用(如果可见)->ok

记住,如果你在运行时得到任何java.lang.NoClassDefFoundError: Could not initialize class exception,这意味着jar中的依赖项没有安装,你必须在父项目中添加所有依赖项。

这个问题已经被详细地回答了。我还想补充一些让我很惊讶的事情:

“gradle dependencies”任务没有列出任何文件依赖项。即使你可能会这么想,因为它们已经在“依赖项”块中指定了。

因此,不要依赖于它的输出来检查所引用的本地库文件是否正常工作。

另一种方式:

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

较短的版本:

dependencies {
    implementation fileTree('lib')
}