Gradle - 依赖管理
Gradle构建脚本定义了构建项目的流程;每个项目都包含一些依赖项和一些出版物。依赖项是指构建项目时支持的东西,例如来自其他项目的所需 JAR 文件以及类路径中的外部 JAR(如 JDBC JAR 或 Eh-cache JAR)。
出版物是指项目的成果,例如测试类文件、构建文件和 war 文件。
所有项目都不是独立的。他们需要其他项目构建的文件来编译和测试源文件。例如,为了在项目中使用Hibernate,您需要在类路径中包含一些Hibernate JAR。Gradle使用一些特殊的脚本来定义依赖项,需要下载这些依赖项。
Gradle 负责构建和发布结果。发布基于您定义的任务。它可能想要将文件复制到本地目录,或者将它们上传到远程 Maven 或 lvy 存储库,或者您可能会使用同一多项目构建中另一个项目的文件。我们可以将发布任务的过程称为发布。
声明你的依赖关系
依赖关系配置定义了一组依赖关系。您可以使用此功能来声明要从网络下载的外部依赖项。这定义了不同的标准,如下所示。
apply plugin: 'java' repositories { mavenCentral() } dependencies { compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final' testCompile group: 'junit', name: 'junit', version: '4.+' }
依赖配置
依赖关系配置定义了一组依赖关系。您可以使用此功能来声明要从网络下载的外部依赖项。这定义了以下不同的标准配置。
编译- 编译项目的生产源所需的依赖项。
运行时- 生产类在运行时所需的依赖项。默认情况下,它还包括编译时依赖项。
测试编译- 编译项目的测试源所需的依赖项。默认情况下,它包括已编译的生产类和编译时依赖项。
测试运行时- 运行测试所需的依赖项。默认情况下,它包括运行时和测试编译依赖项。
外部依赖
外部依赖是依赖类型之一。这是对当前构建外部构建的某些文件的依赖,这些文件存储在某种类型的存储库中,例如 Maven 中心、企业 Maven 或 lvy 存储库,或者是本地文件系统的目录 I。
以下代码片段是定义外部依赖项。在build.gradle文件中使用此代码。
dependencies { compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final' }
外部依赖是声明外部依赖,快捷形式类似于“group: name: version”。
存储库
添加外部依赖项时,Gradle 在存储库中查找它们。按组、名称和版本组织的文件集合称为存储库。默认情况下,Gradle 不定义任何存储库。我们必须明确定义至少一个存储库。以下代码片段定义了如何定义 Maven 存储库。在build.gradle文件中使用此代码。
在build.gradle文件中使用以下代码-
repositories { mavenCentral() }
下面的代码是定义远程maven。在build.gradle文件中使用此代码。
repositories { maven { url "http://repo.mycompany.com/maven2" } }
发布文物
依赖配置也用于发布文件。这些已发布的文件称为工件。通常,我们使用插件来定义工件。但是,您确实需要告诉 Gradle 在哪里发布工件。
您可以通过将存储库附加到上传档案任务来实现此目的。看一下以下用于发布 Maven 存储库的语法。执行时,Gradle 将根据项目要求生成并上传Pom.xml 。
在build.gradle文件中使用此代码。
apply plugin: 'maven' uploadArchives { repositories { mavenDeployer { repository(url: "file://localhost/tmp/myRepo/") } } }