有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java向gradle构建添加库

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

我的团队正在使用gradle来构建这个项目,我知道的刚好可以提出正确的问题。所以我认为构建所做的是

  1. 抄袭一堆。bnds到构建目录
  2. 编译src/main/java中的java(通过sourceset.main.java.srcDirs?)

我想添加lang3库,但我不知道如何去做。我可以把它转储到src/main/java中吗?还是我必须告诉格拉德这件事

这就是我认为与当前构建相关的内容。格拉德尔

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) 个答案

  1. # 1 楼答案

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

    但是如果您想使用本地文件,不要将其放在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'
    }
    
  2. # 2 楼答案

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

    您还可以使用file dependencies从文件系统直接访问这个jar

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