将库添加到gradle构建

时间:2014-01-10 06:47:21

标签: java dependencies gradle

我正在尝试将org.apache.commons.lang3添加到我的构建中。我已经下载了包含jar文件的目录库。

我的小组正在使用gradle来构建项目,我知道这个问题就足够了。所以我认为构建正在做的是

  1. 将一堆.bnds复制到构建目录
  2. 编译我们在src / main / java中的java(通过源sourceSets.main.java.srcDirs?)
  3. 我想添加lang3库,但我不知道如何去做。我可以把它转储到src / main / java吗?或者我必须告诉gradle它?

    这是我认为与当前build.gradle相关的内容

    ext.releaseDir = "${buildDir}/release/${tpVersion.getProgramName()}"
    ext.bundlesDir = "${releaseDir}/nucleus/bin/nucleus_java/bundles/"
    
    dependencies {
       compile fileTree(dir: bundlesDir, include: '*.jar')
    
    bnd {
       source sourceSets.main.java.srcDirs
       include '**/*.bnd'
    

2 个答案:

答案 0 :(得分:19)

如果它存在于任何远程存储库中,您可以将其声明为依赖项。这就是我这样做的方式。

但是如果你想使用本地文件,不要把它放在src / main中。在与src相同的目录级别上使用名为lib或类似的额外文件夹,或者构建脚本。

然后您可以添加本示例中的本地依赖项:

repositories {
    //central maven repo
    mavenCentral()
}

dependencies {
    //local file
    compile files('libs/toxiclibscore.jar')

    //dependencies from a remote repository
    compile 'java3d:vecmath:1.3.1', 'commons-lang:commons-lang:2.6'
}

答案 1 :(得分:9)

最简单的方法是使用maven存储库来访问依赖项。

您也可以使用file dependencies直接从文件系统访问此jar。

dependencies {
    compile files('libs/a.jar', 'libs/b.jar')
    compile fileTree(dir: 'libs', include: '*.jar')
}