在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Java语言基础 → 《Maven权威指南》-电子书下载(PDF)(中文).pdf

《Maven权威指南》-电子书下载(PDF)(中文).pdf

Java语言基础

下载此实例
  • 开发语言:Java
  • 实例大小:6.59M
  • 下载次数:7
  • 浏览次数:30
  • 发布时间:2020-10-14
  • 实例类别:Java语言基础
  • 发 布 人:jigufengyue
  • 所需积分:2
 相关标签: maven 权威指南 指南 en

实例介绍

【实例简介】

【实例截图】

【核心代码】

目录
版权 ................................................................... xi
1. Creative Commons BY-ND-NC ...................................... xi
序: Beta 0.2 ........................................................ xiii
前言 .................................................................. xiv
1. 如何使用本书 .................................................. xiv
2. 你的反馈 ....................................................... xv
3. 字体约定3
....................................................... xv
4. Maven书写约定4
.................................................. xv
5. 致谢 .......................................................... xvi
1. 介绍 Apache Maven ................................................... 1
1.1. Maven... 它是什么? ............................................ 1
1.2. 约定优于配置(Convention Over Configuration) .................. 1
1.3. 一个一般的接口 ................................................ 2
1.4. 基于Maven插件的全局性重用 ...................................... 3
1.5. 一个“项目”的概念模型 ......................................... 4
1.6. Maven是Ant的另一种选择么? ..................................... 4
1.7. 比较Maven和Ant ................................................ 5
1.8. 总结 .......................................................... 9
2. 安装和运行Maven ..................................................... 10
2.1. 验证你的Java安装 ............................................. 10
2.2. 下载Maven .................................................... 10
2.3. 安装Maven .................................................... 10
2.3.1. 在Mac OSX上安装Maven ................................... 11
2.3.2. 在Microsoft Windows上安装Maven ......................... 11
2.3.3. 在Linux上安装Maven ..................................... 12
2.3.4. 在FreeBSD或OpenBSD上安装Maven ........................... 12
2.4. 验证Maven安装 ................................................ 12
2.5. Maven安装细节 ................................................ 12
2.5.1. 用户相关配置和仓库 ..................................... 13
2.5.2. 升级Maven .............................................. 13
2.6. 获得Maven帮助 ................................................ 13
2.7. 使用Maven Help插件 ........................................... 14
2.7.1. 描述一个Maven插件 ...................................... 15
2.8. 关于Apache软件许可证 .......................................... 17
I. Maven实战 ........................................................... 19
3. 一个简单的Maven项目 ............................................. 20
3.1. 简介 ..................................................... 20
3.1.1. 下载本章的例子 ..................................... 20
3.2. 创建一个简单的项目 ....................................... 20
3.3. 构建一个简单的项目 ....................................... 22
Maven权威指南
iii
3.4. 简单的项目对象模型 (Project Object Model) ................ 23
3.5. 核心概念 ................................................. 24
3.5.1. Maven插件和目标 (Plugins and Goals) ................ 25
3.5.2. Maven生命周期 (Lifecycle) .......................... 26
3.5.3. Maven坐标 (Coordinates) ............................ 32
3.5.4. Maven仓库(Repositories) ............................ 34
3.5.5. Maven依赖管理 (Dependency Management) .............. 36
3.5.6. 站点生成和报告 (Site Generation and Reporting) ...... 38
3.6. 小结 ..................................................... 38
4. 定制一个Maven项目 .............................................. 39
4.1. 介绍 ..................................................... 39
4.1.1. 下载本章样例 ....................................... 39
4.2. 定义Simple Weather项目 ................................... 39
4.2.1. Yahoo! Weather RSS ................................ 39
4.3. 创建Simple Weather项目 ................................... 40
4.4. 定制项目信息 ............................................. 41
4.5. 添加新的依赖 ............................................. 43
4.6. Simple Weather源码 ....................................... 45
4.7. 添加资源 ................................................. 51
4.8. 运行Simple Weather项目 ................................... 52
4.8.1. Maven Exec 插件 ................................... 53
4.8.2. 浏览你的项目依赖 ................................... 53
4.9. 编写单元测试 ............................................. 55
4.10. 添加测试范围依赖 ........................................ 58
4.11. 添加单元测试资源 ........................................ 58
4.12. 执行单元测试 ............................................ 61
4.12.1. 忽略测试失败 ...................................... 62
4.12.2. 跳过单元测试 ...................................... 63
4.13. 构建一个打包好的命令行应用程序 ........................... 63
5. 一个简单的Web应用 .............................................. 66
5.1. 介绍 ..................................................... 66
5.1.1. 下载本章样例 ....................................... 66
5.2. 定义这个简单的Web应用 .................................... 66
5.3. 创建这个简单的Web应用 .................................... 66
5.4. 配置Jetty插件 ............................................ 68
5.5. 添加一个简单的Servlet .................................... 70
5.6. 添加J2EE依赖 ............................................. 72
5.7. 小结 ..................................................... 74
6. 一个多模块项目 ................................................. 75
6.1. 简介 ..................................................... 75
Maven权威指南
iv
6.1.1. 下载本章样例 ....................................... 75
6.2. simple-parent 项目 ....................................... 75
6.3. simple-weather 模块 ...................................... 77
6.4. simple-webapp 模块 ....................................... 80
6.5. 构建这个多模块项目 ....................................... 82
6.6. 运行Web应用 .............................................. 84
7. 多模块企业级项目 ............................................... 85
7.1. 简介 ..................................................... 85
7.1.1. 下载本章样例 ....................................... 85
7.1.2. 多模块企业级项目 ................................... 85
7.1.3. 本例中所用的技术 ................................... 87
7.2. simple-parent项目 ........................................ 88
7.3. simple-model模块 ......................................... 90
7.4. simple-weather模块 ....................................... 94
7.5. simple-persist模块 ....................................... 99
7.6. simple-webapp模块 ....................................... 108
7.7. 运行这个Web应用 ......................................... 118
7.8. simple-command模块 ...................................... 120
7.9. 运行这个命令行程序 ...................................... 126
7.10. 小结 ................................................... 129
7.10.1. 编写接口项目程序 ................................. 129
8. 优化和重构POM ................................................. 131
8.1. 简介 .................................................... 131
8.2. POM清理 ................................................. 131
8.3. 优化依赖 ................................................ 132
8.4. 优化插件 ................................................ 136
8.5. 使用Maven Dependency插件进行优化 ........................ 137
8.6. 最终的POM ............................................... 140
8.7. 小结 .................................................... 150
II. Maven参考 ......................................................... 151
9. 项目对象模型 .................................................. 152
9.1. 简介 .................................................... 152
9.2. POM ..................................................... 152
9.2.1. 超级POM ........................................... 154
9.2.2. 最简单的POM ....................................... 156
9.2.3. 有效POM ........................................... 157
9.2.4. 真正的POM ......................................... 157
9.3. POM语法 ................................................. 158
9.3.1. 项目版本 .......................................... 158
9.3.2. 属性引用 .......................................... 160
Maven权威指南
v
9.4. 项目依赖 ................................................ 161
9.4.1. 依赖范围 .......................................... 162
9.4.2. 可选依赖 .......................................... 163
9.4.3. 依赖版本界限 ...................................... 165
9.4.4. 传递性依赖 ........................................ 166
9.4.5. 冲突解决 .......................................... 167
9.4.6. 依赖管理 .......................................... 169
9.5. 项目关系 ................................................ 171
9.5.1. 坐标详解 .......................................... 171
9.5.2. 多模块项目 ........................................ 172
9.5.3. 项目继承 .......................................... 174
9.6. POM最佳实践 ............................................. 176
9.6.1. 依赖归类 .......................................... 176
9.6.2. 多模块 vs. 继承 .................................. 178
10. 构建生命周期 ................................................. 184
10.1. 简介 ................................................... 184
10.1.1. 清理生命周期 (clean) ............................. 184
10.1.2. 默认生命周期 (default) ........................... 188
10.1.3. 站点生命周期 (site) .............................. 190
10.2. 打包相关生命周期 ....................................... 190
10.2.1. JAR .............................................. 190
10.2.2. POM .............................................. 191
10.2.3. Maven Plugin ..................................... 191
10.2.4. EJB .............................................. 192
10.2.5. WAR .............................................. 193
10.2.6. EAR .............................................. 193
10.2.7. 其它打包类型 ..................................... 194
10.3. 通用生命周期目标 ....................................... 195
10.3.1. Process Resources ................................ 195
10.3.2. Compile .......................................... 199
10.3.3. Process Test Resources ........................... 200
10.3.4. Test Compile ..................................... 200
10.3.5. Test ............................................. 201
10.3.6. Install .......................................... 202
10.3.7. Deploy ........................................... 202
11. 构建Profile .................................................. 203
11.1. Profile是用来做什么的? ................................. 203
11.1.1. 什么是构建可移植性 ............................... 203
11.1.2. 选择一个适当级别的可移植性 ....................... 204
11.2. 通过Maven Profiles实现可移植性 ......................... 205
Maven权威指南
vi
11.2.1. 覆盖一个项目对象模型 ............................. 207
11.3. 激活Profile ............................................ 208
11.3.1. 激活配置 ......................................... 210
11.3.2. 通过属性缺失激活 ................................. 212
11.4. 外部Profile ............................................ 212
11.5. Settings Profile ....................................... 213
11.5.1. 全局Settings Profile ............................. 215
11.6. 列出活动的Profile ...................................... 215
11.7. 提示和技巧 ............................................. 216
11.7.1. 常见的环境 ....................................... 216
11.7.2. 安全保护 ......................................... 218
11.7.3. 平台分类器 ....................................... 219
11.8. 小结 ................................................... 222
12. Maven套件 .................................................... 223
12.1. 简介 ................................................... 223
12.2. Assembly基础 ........................................... 223
12.2.1. 预定义的套件描述符 ............................... 224
12.2.2. 构建一个套件Building an Assembly ................. 225
12.2.3. 套件作为依赖 ..................................... 227
12.2.4. 通过套件依赖组装套件 ............................. 228
12.3. 套件描述符概述 ......................................... 232
12.4. 套件描述符 ............................................. 234
12.4.1. 套件描述符中的属性引用 ........................... 234
12.4.2. 必须的套件信息 ................................... 234
12.5. 控制一个套件的内容 ..................................... 236
12.5.1. Files 元素 ....................................... 236
12.5.2. FileSets 元素 .................................... 237
12.5.3. fileSets####### ................................... 239
12.5.4. dependencySets 元素 .............................. 241
12.5.5. moduleSets 元素 .................................. 250
12.5.6. Repositories元素 ................................. 256
12.5.7. 管理套件的根目录 ................................. 256
12.5.8. componentDescriptors和containerDescriptorHandlers ... 257
12.6. 最佳实践 ............................................... 258
12.6.1. 标准的,可重用的套件描述符 ....................... 258
12.6.2. 分发(聚合)套件 ................................. 261
12.7. 总结 ................................................... 265
13. 属性和资源过滤 ............................................... 266
13.1. 简介 ................................................... 266
13.2. Maven属性 .............................................. 266
Maven权威指南
vii
13.2.1. Maven项目的属性 .................................. 267
13.2.2. Maven的Settings属性 .............................. 268
13.2.3. 环境变量属性 ..................................... 269
13.2.4. Java系统属性 ..................................... 269
13.2.5. 用户定义的属性 ................................... 271
13.3. 资源过滤 ............................................... 272
14. Maven和Eclipse: m2eclipse .................................... 276
14.1. 简介 ................................................... 276
14.2. m2eclipse .............................................. 276
14.3. 安装 m2eclipse 插件 .................................... 277
14.3.1. 安装前提条件 ..................................... 277
14.3.2. 安装 m2eclipse ................................... 279
14.4. 开启 Maven 控制台 ...................................... 279
14.5. 创建一个 Maven 项目 .................................... 280
14.5.1. 从 SCM 签出一个 Maven 项目 ...................... 281
14.5.2. 用Maven Archetype创建一个Maven项目 ............... 283
14.5.3. 创建一个 Maven 模块 .............................. 285
14.6. 创建一个Maven POM文件 .................................. 287
14.7. 导入Maven项目 .......................................... 290
14.7.1. 导入一个Maven项目 ................................ 292
14.7.2. 具体化一个Maven项目 .............................. 293
14.8. 运行Maven构建 .......................................... 296
14.9. 使用Maven进行工作 ...................................... 298
14.9.1. 添加及更新依赖或插件 ............................. 300
14.9.2. 创建一个Maven模块 ................................ 301
14.9.3. 下载源码 ......................................... 302
14.9.4. 打开项目页面 ..................................... 302
14.9.5. 解析依赖 ......................................... 302
14.10. 使用Maven仓库进行工作 ................................. 302
14.10.1. 搜索 Maven 构件和 Java 类 ...................... 303
14.10.2. 为Maven仓库编制索引 ............................. 306
14.11. 使用基于表单的POM编辑器 ............................... 308
14.12. 在m2eclipse中分析项目依赖 ............................. 317
14.13. Maven 选项 ............................................ 322
14.14. 小结 .................................................. 327
15. 站点生成 ..................................................... 328
15.1. 简介 ................................................... 328
15.2. 使用Maven构建项目站点 .................................. 328
15.3. 自定义站点描述符 ....................................... 331
15.3.1. 自定义页面顶端图片 ............................... 332
Maven权威指南
viii
15.3.2. 自定义导航菜单 ................................... 333
15.4. 站点目录结构 ........................................... 334
15.5. 编写项目文档 ........................................... 335
15.5.1. APT样例 .......................................... 336
15.5.2. FML样例 .......................................... 336
15.6. 部署你的项目web站点 .................................... 337
15.6.1. 配置服务器认证 ................................... 338
15.6.2. 配置文件和目录模式 ............................... 339
15.7. 自定义站点外观 ......................................... 339
15.7.1. 自定义站点CSS .................................... 339
15.7.2. 创建自定义的站点模板 ............................. 340
15.7.3. 可重用的web站点皮肤 .............................. 345
15.7.4. 创建自定义的主题CSS .............................. 346
15.7.5. 在皮肤中自定义站点模板 ........................... 347
15.8. 提示与技巧 ............................................. 348
15.8.1. 给HEAD嵌入XHTML .................................. 348
15.8.2. 在你站点logo下添加链接 ........................... 349
15.8.3. 为你的站点添加导航链接 ........................... 349
15.8.4. 添加项目版本 ..................................... 350
15.8.5. 修改发布日期格式和位置 ........................... 351
15.8.6. 使用Doxia宏 ...................................... 352
16. 仓库管理器 ................................................... 354
16.1. 简介 ................................................... 354
16.1.1. Nexus历史 ........................................ 354
16.2. 安装Nexus .............................................. 355
16.2.1. 从Sonatype下载Nexus .............................. 355
16.2.2. 安装Nexus ........................................ 355
16.2.3. 运行Nexus ........................................ 355
16.2.4. 安装后检查单 ..................................... 357
16.2.5. 为Redhat/Fedora/CentOS设置启动脚本 ............... 358
16.2.6. 升级Nexus版本 .................................... 360
16.3. 使用Nexus .............................................. 361
16.3.1. 浏览仓库 ......................................... 362
16.3.2. 浏览组 ........................................... 364
16.3.3. 搜索构件 ......................................... 366
16.3.4. 浏览系统RSS源 .................................... 367
16.3.5. 浏览日志文件和配置 ............................... 369
16.3.6. 更改你的密码 ..................................... 370
16.4. 配置Maven使用Nexus ..................................... 371
16.4.1. 使用Nexus中央代理仓库 ............................ 371
Maven权威指南
ix
16.4.2. 使用Nexus作为快照仓库 ............................ 372
16.4.3. 为缺少的依赖添加仓库 ............................. 374
16.4.4. 添加一个新的仓库 ................................. 375
16.4.5. 添加一个仓库至一个组 ............................. 377
16.5. 配置Nexus .............................................. 379
16.5.. 定制服务器配置 .................................... 379
16.5.2. 管理仓库 ......................................... 381
16.5.3. 管理组 ........................................... 386
16.5.4. 管理路由 ......................................... 388
16.5.5. 网络配置 ......................................... 391
16.6. 维护仓库 ............................................... 391
16.7. 部署构件至Nexus ........................................ 392
16.7.1. 部署发布版 ....................................... 393
16.7.2. 部署快照版 ....................................... 394
16.7.3. 部署第三方构件 ................................... 395
17. 编写插件 ..................................................... 397
17.1. 简介 ................................................... 397
17.2. Maven编程 .............................................. 397
17.2.1. 什么是反转控制? ................................. 397
17.2.2. Plexus简介 ....................................... 398
17.2.3. 为什么使用Plexus? ................................ 399
17.2.4. 什么是插件? ..................................... 399
17.3. 插件描述符 ............................................. 400
17.3.1. 顶层插件描述符元素 ............................... 402
17.3.2. Mojo配置 ......................................... 402
17.3.3. 插件依赖 ......................................... 405
17.4. 编写自定义插件 ......................................... 405
17.4.1. 创建一个插件项目 ................................. 405
17.4.2. 一个简单的Java Mojo .............................. 406
17.4.3. 配置插件前缀 ..................................... 408
17.4.4. 插件中的日志 ..................................... 411
17.4.5. Mojo类注解 ....................................... 412
17.4.6. 当Mojo失败的时候 ................................. 414
17.5. Mojo参数 ............................................... 415
17.5.1. 为Mojo参数提供值 ................................. 415
17.5.2. 多值的Mojo参数 ................................... 417
17.5.3. 依赖于一个Plexus组件 ............................. 419
17.5.4. Mojo参数注解 ..................................... 419
17.6. 插件和Maven生命周期 .................................... 420
17.6.1. 执行平行的生命周期 ............................... 421
Maven权威指南
x
17.6.2. 创建自定义的生命周期 ............................. 421
17.6.3. 覆盖默认生命周期 ................................. 423
18. 使用可选语言编写插件 .......................................... 425
18.1. 使用Ant编写插件 ........................................ 425
18.2. 创建一个Ant插件 ........................................ 425
18.3. 使用JRuby编写插件 ...................................... 428
18.3.1. 创建一个JRuby插件 ................................ 429
18.3.2. Ruby Mojo实现 .................................... 431
18.3.3. Ruby Mojo中使用日志 .............................. 434
18.3.4. Raise一个MojoError ............................... 434
18.3.5. 在JRuby中引用Plexus组件 .......................... 435
18.4. 使用Groovy编写插件 ..................................... 436
18.4.1. 创建一个Groovy插件 ............................... 436
A. 附录: Settings细节 ................................................. 439
A.1. 简介 ........................................................ 439
A.2. Settings细节 ................................................ 439
A.2.1. 简单值 ................................................ 439
A.2.2. 服务器(Servers) ..................................... 441
A.2.3. 镜像(Mirrors) ....................................... 442
A.2.4. 代理(Proxies) ....................................... 443
A.2.5. Profiles .............................................. 444
A.2.6. 激活(Activation) .................................... 444
A.2.7. 属性(Properties) .................................... 446
A.2.8. 仓库(Repositories) .................................. 447
A.2.9. 插件仓库 .............................................. 449
A.2.10. 激活的Profile ........................................ 449
B. 附录: Sun规格说明可选实现 .......................................... 450
xi

实例下载地址

《Maven权威指南》-电子书下载(PDF)(中文).pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警