File tree Expand file tree Collapse file tree 2 files changed +68
-0
lines changed Expand file tree Collapse file tree 2 files changed +68
-0
lines changed Original file line number Diff line number Diff line change
1
+ # 私服仓库
2
+
3
+ 架设在局域网中的特殊远程仓库,目的是代理与部署第三方构建。
4
+
5
+ 特点:
6
+ 1. 有则直接下载
7
+ 2. 没有则通过代理下载到私服,再下载
8
+
9
+ ** Nexus**
10
+
11
+ > maven仓库管理软件
12
+
13
+ 仓库概念:
14
+ 1 . 代理仓库` proxy `
15
+ 2 . 宿主仓库` hosted `
16
+ 3 . 虚拟仓库` virtual `
17
+ 4 . 仓库组` group `
18
+
19
+ > 仓库组是一种特殊的仓库概念,请求仓库组即可请求仓库组下管理的仓库
20
+
21
+ 格式:
22
+ 1 . maven1
23
+ 2 . maven2(现在都是这个)
24
+
25
+ > maven2与maven1最大的区别在于提速与简化配置
26
+
27
+ 策略属性:
28
+ 1 . Release(发布版本)
29
+ 2 . Snapshot(快照版本)
30
+
31
+ # 构建
32
+
33
+ > ` Android studio ` 默认支持` Gradle ` ,属于一个` client `
34
+ ** project**
35
+
36
+ 一个` Gradle ` 是由一个或者多个` project ` 组成,而每个` project ` 又包含了许多可构建组成的部分,通过` Gradle ` 的` build-by-convention ` 具体定义一个` project ` 的用途。
37
+
38
+ ` project ` 由一个个` task ` 组成,每一个` task ` 代表一个构建执行过程中的原子性操作,如编译,打包,生成javadoc,发布到仓库这样具体的操作。
39
+
40
+
41
+ ** task**
42
+ ` gradle ` 是由一个个任务(` task ` )完成的,基类是` DefaultTask ` (必须继承),存在一个生命周期:
43
+ ` 初始化阶段 ` -- ` 配置阶段 ` -- ` 执行阶段 `
44
+
45
+ ` 配置阶段 ` 的代码在执行任何` task ` 时候都会跟着执行,需要执行的操作在` task ` 都是一个个` action ` ,然后组成了一个队列,通过` doFirst ` 或者是` doLast ` 来决定` action ` 在队列中的执行顺序。
46
+
47
+ 排列方式,如下伪代码的顺序是` 2 ` ,` 1 ` ,` 1 ` ,` 2 `
48
+ ```
49
+ doLast 1
50
+ doFirst 1
51
+ doFirst 2
52
+ doLast 2
53
+ ```
54
+
55
+ 因为` task ` 对于` action ` 的执行是顺序的,而` doLast ` 和` doFirst ` 是首位部插入,先插入的自然比后插入的靠中心位置。
56
+
57
+ ** Gradle构建方式**
58
+
59
+ ![ gradle获取依赖] ( ./java一/gradle.jpg )
60
+
61
+ 在` build.gradle ` 中声明项目依赖` 3.0 ` 版本的` common-lang3 ` ,` Gradle ` 就会检查本地存储库中是否有该依赖库,如果没有就通过网络的` Gradle Repository ` 下载到本地,然后自动声明` classpath `
62
+
63
+ ` gradle ` 和` maven ` 相比来说,` maven ` 是基于` XML ` 的配置,而` gradle ` 是采用了` Groovy ` 这种特殊语言做到了配置可编程。而且在配置上` gradle ` 对` maven ` 而言做到了沿用与简化,并且还提供了` 动态版本依赖 ` ,通过在` 版本号 ` 后
64
+ 添加` + ` 来实现动态的版本管理。
65
+
66
+ 关于` 依赖冲突 ` 的解决,` Maven ` 和` Gradle ` 进行依赖管理时都是采用的` 传递性依赖 ` ,但是如果多个依赖指向同一个依赖的不同版本就会引起依赖冲突,对于这点` Gradle ` 已经做到了较好的展示方式。
67
+
68
+
You can’t perform that action at this time.
0 commit comments