博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gradle Maven 依赖管理
阅读量:6884 次
发布时间:2019-06-27

本文共 2886 字,大约阅读时间需要 9 分钟。

仓库管理简介

本质上说,仓库是一种存放依赖的容器,每一个项目都具备一个或多个仓库。

Gradle支持以下仓库格式:

  • Ivy仓库

我们来看一下,对于每一种仓库类型,我们在构建中应该如何配置。

在构建中加入Ivy仓库

我们可以通过URL地址或本地文件系统地址,将Ivy仓库加入到我们的构建中。

如果想通过URL地址添加一个Ivy仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5
repositories {
    
ivy {
        
url
"http://ivy.petrikainulainen.net/repo"
    
}
}

如果想通过本地文件系统地址添加一个Ivy仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5
repositories {
    
ivy {      
        
url
"../ivy-repo"
    
}
}

小贴士:如果你想要获得更多关于Ivy仓库配置的信息,你可以参考以下资源:

我们继续,下面是如何在构建中加入Maven仓库。

在构建中加入Maven仓库

与Ivy仓库很类似,我们可以通过URL地址或本地文件系统地址,将Maven仓库加入到我们的构建中。

如果想通过URL地址添加一个Maven仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5
repositories {
    
maven {
        
url
"http://maven.petrikainulainen.net/repo"
    
}
}

如果想通过本地文件系统地址添加一个Maven仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5
repositories {
    
maven {      
        
url
"../maven-repo"
    
}
}

在加入Maven仓库时,Gradle提供了三种“别名”供我们使用,它们分别是:

  • mavenCentral()别名,表示依赖是从Central Maven 2 仓库中获取的。
  • jcenter()别名,表示依赖是从Bintary’s JCenter Maven 仓库中获取的。
  • mavenLocal()别名,表示依赖是从本地的Maven仓库中获取的。

如果我们想要将Central Maven 2 仓库加入到构建中,我们必须在build.gradle文件中加入以下代码片段:

1
2
3
repositories {
    
mavenCentral()
}

小贴士:如果你想要获取更多关于Maven仓库配置的信息,你可以参考这篇文章:

我们继续,下面是如何在构建中加入Flat Directory仓库。

在构建中加入Flat Directory仓库

如果我们想要使用Flat Directory仓库,我们需要将以下代码片段加入到build.gradle文件中:

1
2
3
4
5
repositories {
    
flatDir {
        
dirs
'lib'
    
}
}

这意味着系统将在lib目录下搜索依赖,同样的,如果你愿意的话可以加入多个目录,代码片段如下:

1
2
3
4
5
repositories {
    
flatDir {
        
dirs
'libA'
,
'libB'
    
}
}

小贴士:如果你想要获得更多关于Flat Directory仓库配置的信息,你可以参考以下资源:

我们继续,下面要讲的是,如何使用Gradle管理项目中的依赖。

依赖管理简介

在配置完项目仓库后,我们可以声明其中的依赖,如果我们想要声明一个新的依赖,可以采用如下步骤:

  1. 指定依赖的配置。
  2. 声明所需的依赖。

让我们看一下详细步骤:

配置中的依赖分类

在Gradle中,依赖是按照指定名称进行分类的,这些分类被称为配置项,我们可以使用配置项声明项目的外部依赖。

,其描述如下:

  • 当项目的源代码被编译时,compile配置项中的依赖是必须的。
  • runtime配置项中包含的依赖在运行时是必须的。
  • testCompile配置项中包含的依赖在编译项目的测试代码时是必须的。
  • testRuntime配置项中包含的依赖在运行测试代码时是必须的。
  • archives配置项中包含项目生成的文件(如Jar文件)。
  • default配置项中包含运行时必须的依赖。

我们继续,下面是如何在项目中声明依赖。

声明项目依赖

最普遍的依赖称为外部依赖,这些依赖存放在外部仓库中。一个外部依赖可以由以下属性指定:

  • group属性指定依赖的分组(在Maven中,就是groupId)。
  • name属性指定依赖的名称(在Maven中,就是artifactId)。
  • version属性指定外部依赖的版本(在Maven中,就是version)。

小贴士:这些属性在Maven仓库中是必须的,如果你使用其他仓库,一些属性可能是可选的。打个比方,如果你使用Flat directory仓库,。

我们假设我们需要指定以下依赖:

  • 依赖的分组是foo
  • 依赖的名称是foo
  • 依赖的版本是0.1
  • 在项目编译时需要这些依赖。

我们可以将以下代码片段加入到build.gradle中,进行依赖声明:

1
2
3
dependencies {
    
compile group:
'foo'
, name:
'foo'
, version:
'0.1'
}

我们也可以采用一种快捷方式声明依赖:[group]:[name]:[version]。如果我们想用这种方式,我们可以将以下代码段加入到build.gradle中:

1
2
3
dependencies {
    
compile
'foo:foo:0.1'
}

我们也可以在同一个配置项中加入多个依赖,传统的方式如下:

1
2
3
4
5
6
dependencies {
    
compile (
        
[group:
'foo'
, name:
'foo'
, version:
'0.1'
],
        
[group:
'bar'
, name:
'bar'
, version:
'0.1'
]
    
)
}

如果采用快捷方式,那可以是这样:

1
2
3
dependencies {
    
compile
'foo:foo:0.1'
,
'bar:bar:0.1'
}

自然地,声明属于不同配置项的依赖也是可以的。比如说,如果我们想要声明属于compiletestCompile配置项的依赖,可以这么做:

1
2
3
4
dependencies {
    
compile group:
'foo'
, name:
'foo'
, version:
'0.1'
    
testCompile group:
'test'
, name:
'test'
, version:
'0.1'
}

同样的,给力的快捷方式又来了( ̄︶ ̄)

1
2
3
4
dependencies {
    
compile
'foo:foo:0.1'
    
testCompile
'test:test:0.1'
}
转载请注明出处:http://duwei.cnblogs.com/
你可能感兴趣的文章
关于scrapy的piplines
查看>>
通向架构师的道路(第一天)之Apache整合Tomcat - lifetragedy的专栏 - 博客频道 - CSDN.NET...
查看>>
Shell工作笔记01
查看>>
项目、软件开发过程中版本术语
查看>>
CSS实现背景透明,文字不透明(各浏览器兼容)
查看>>
【转】[大学引导]超级链接、字体颜色、音乐播放公式
查看>>
T-SQL中INSERT、UPDATE
查看>>
Linux下Nginx服务器配置Modsecurity实现Web应用防护系统
查看>>
openSUSE13.2安装ruby和rails
查看>>
python 高级函数
查看>>
F.Cards with Numbers
查看>>
简单入门Buffer
查看>>
OO第四阶段总结
查看>>
javascript总结02
查看>>
创建windows服务
查看>>
HTML5 入门基础
查看>>
【转载】读懂IL代码就这么简单(二)
查看>>
C++文件操作(fstream)
查看>>
用main函数传参做简单的计算器的代码
查看>>
python中struct.unpack的用法
查看>>