繁体   English   中英

如何将库添加到我的 Gradle 文件?

[英]How do I add libraries to my Gradle file?

这可能非常简单,但仅限于知道自己在做什么的人。 我有一个导入这两个的 Java 程序:

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.exception.ExceptionUtils;

顺便说一句,我不想使用lang3 package,而是使用lang package。

我的 Gradle 文件中没有关于这些的任何内容。 当我尝试构建文件时,它给了我这两个错误,说包不存在。

我的问题是:

  • 我需要将它们添加为“编译”还是“api”?
  • 确切的语法是什么? 我的行看起来像这样: api group: 'commons-httpclient', name: 'commons-httpclient', version: '3.1'
  • 我如何找到正确的名字(或者我应该发明一个)? 和版本?

您的代码需要的任何东西(除了基本的 JRE 类)都是您的代码的依赖项。 Gradle 管理这些依赖项,通常从存储库下载它们。

首先,您需要找到这样的存储库。 您可能已经在build.gradle中配置了存储库,如下所示:

buildscript {
    repositories {
        mavenCentral()
        // maybe more repositories
    }
}

这意味着 Gradle 将尝试从 Maven Central 下载依赖项。 您可以执行 web 搜索“gradle”和您的依赖项,或 go 到存储库和搜索,或检查依赖项的主页

您最终会得到一个依赖项名称和版本,例如'org.apache.commons:commons-lang3:3.12.0' 这需要 go 在您的build.gradle中。

Gradle 有不同的依赖关系:

  • buildscript 依赖项提供 Gradle 需要执行以构建项目的代码,例如,用于提取版本控制系统信息或生成代码的工具

  • 实现依赖项是您的代码需要运行的依赖项,例如日志记录框架或 JSON 解析器或 PDF 生成器

  • 测试依赖项是运行自动化测试所需的依赖项,例如 JUnit

根据您需要依赖项的位置,您将其放入buildscriptdependencies项块中。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.tmatesoft.svnkit:svnkit:1.9.+'
    }
}

dependencies {
    implementation 'pdfbox:pdfbox:0.7.3'
    testImplementation 'junit:junit:4.+'
}

您不需要重复testImplementationimplementation依赖项,因为它会自动继承它们。

您可以根据需要定义自己的配置; 请参阅Gradle 依赖关系手册,例如,如果您有不同的测试套件(单元、集成、性能......)需要不同的依赖关系。

您必须将 go 到他们的官方网站并获取实现,然后将它们添加到 build.gradle(module) 中的依赖项(您会在文件底部找到它)它看起来像 -

实现 ss

$lifecycle_version可能类似于 1.2.3 或某个版本号。

这就是我得到的(不完全确定这是否正确)-

implementation 'org.apache.commons:commons-lang3:3.12.0'

从 gradle 短标签中的图书馆网站获得

在 build.gradle(project) 中,查找 maven 存储库。

Maven 回购

完成后,您将能够导入相应的库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM