《Maven实战》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:许晓斌著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111321545
  • 页数:361 页
图书介绍:本书一共分为四个部分,以Maven的核心概念和最佳实践为主要内容,包含大量实例。第一部分:基础篇,除了Maven的概念、安装、在Eclipse中的使用以及能让读者迅速上手的实例等常规内容外,还包括开发者在使用Maven时最常遇到的问题解答,以及开发者对Maven的误解;第二部分:核心概念篇,以Amazon的图书查询服务为背景案例,依次讲解了与Maven坐标和依赖、Maven仓库、Maven声明周期、Maven插件等相关的核心内容;第三部分:实践篇:包含大量最佳实践,其中涉及的问题是开发者在使用Maven时经常会碰到,但是又恨难解决的,包括Maven中的约定、模块划分、依赖的合理管理等内容;第四部分:附录,包括POM详解、Settings详解以及索引等重要内容。

第1章 Maven简介 1

1.1 何为Maven 2

1.1.1 何为构建 2

1.1.2 Maven是优秀的构建工具 2

1.1.3 Maven不仅仅是构建工具 3

1.2 为什么需要Maven 4

1.2.1 组装PC和品牌PC 4

1.2.2 IDE不是万能的 4

1.2.3 Make 5

1.2.4 Ant 5

1.2.5 不重复发明轮子 6

1.3 Maven与极限编程 7

1.4 被误解的Maven 8

1.5 小结 9

第2章 Maven的安装和配置 10

2.1 在Windows上安装Maven 11

2.1.1 检查JDK安装 11

2.1.2 下载Maven 11

2.1.3 本地安装 12

2.1.4 升级Maven 13

2.2 在基于UNIX的系统上安装Maven 13

2.2.1 下载和安装 13

2.2.2 升级Maven 15

2.3 安装目录分析 15

2.3.1 M2_HOME 15

2.3.2 ~/.m2 16

2.4 设置HTTP代理 17

2.5 安装m2eclipse 18

2.6 安装NetBeans Maven插件 22

2.7 Maven安装最佳实践 24

2.7.1 设置MAVEN_OPTS环境变量 24

2.7.2 配置用户范围settings.xml 24

2.7.3 不要使用IDE内嵌的Maven 25

2.8 小结 26

第3章 Maven使用入门 27

3.1 编写POM 28

3.2 编写主代码 29

3.3 编写测试代码 30

3.4 打包和运行 34

3.5 使用Archetype生成项目骨架 36

3.6 m2eclipse简单使用 37

3.6.1 导入Maven项目 37

3.6.2 创建Maven项目 39

3.6.3 运行mvn命令 39

3.7 NetBeans Maven插件简单使用 41

3.7.1 打开Maven项目 41

3.7.2 创建Maven项目 42

3.7.3 运行mvn命令 43

3.8 小结 44

第4章 背景案例 45

4.1 简单的账户注册服务 46

4.2 需求阐述 46

4.2.1 需求用例 46

4.2.2 界面原型 48

4.3 简要设计 49

4.3.1 接口 49

4.3.2 模块结构 49

4.4 小结 50

第5章 坐标和依赖 51

5.1 何为Maven坐标 52

5.2 坐标详解 53

5.3 account-email 54

5.3.1 account-email的POM 54

5.3.2 account-email的主代码 56

5.3.3 account-email的测试代码 60

5.3.4 构建account-email 62

5.4 依赖的配置 62

5.5 依赖范围 63

5.6 传递性依赖 64

5.6.1 何为传递性依赖 64

5.6.2 传递性依赖和依赖范围 65

5.7 依赖调解 66

5.8 可选依赖 66

5.9 最佳实践 68

5.9.1 排除依赖 68

5.9.2 归类依赖 69

5.9.3 优化依赖 71

5.10 小结 74

第6章 仓库 75

6.1 何为Maven仓库 76

6.2 仓库的布局 76

6.3 仓库的分类 78

6.3.1 本地仓库 79

6.3.2 远程仓库 80

6.3.3 中央仓库 80

6.3.4 私服 81

6.4 远程仓库的配置 82

6.4.1 远程仓库的认证 83

6.4.2 部署至远程仓库 84

6.5 快照版本 85

6.6 从仓库解析依赖的机制 87

6.7 镜像 89

6.8 仓库搜索服务 90

6.8.1 Sonatype Nexus 90

6.8.2 Jarvana 91

6.8.3 MVNbrowser 91

6.8.4 MVNrepository 92

6.8.5 选择合适的仓库搜索服务 93

6.9 小结 93

第7章 生命周期和插件 94

7.1 何为生命周期 95

7.2 生命周期详解 96

7.2.1 三套生命周期 97

7.2.2 clean生命周期 97

7.2.3 default生命周期 97

7.2.4 site生命周期 98

7.2.5 命令行与生命周期 98

7.3 插件目标 99

7.4 插件绑定 99

7.4.1 内置绑定 100

7.4.2 自定义绑定 102

7.5 插件配置 104

7.5.1 命令行插件配置 104

7.5.2 POM中插件全局配置 104

7.5.3 POM中插件任务配置 105

7.6 获取插件信息 106

7.6.1 在线插件信息 106

7.6.2 使用maven-help-plugin描述插件 108

7.7 从命令行调用插件 109

7.8 插件解析机制 110

7.8.1 插件仓库 110

7.8.2 插件的默认groupId 111

7.8.3 解析插件版本 111

7.8.4 解析插件前缀 112

7.9 小结 114

第8章 聚合与继承 115

8.1 account-persist 116

8.1.1 account-persist的POM 116

8.1.2 account-persist的主代码 118

8.1.3 account-persist的测试代码 123

8.2 聚合 124

8.3 继承 127

8.3.1 account-parent 127

8.3.2 可继承的POM元素 130

8.3.3 依赖管理 131

8.3.4 插件管理 135

8.4 聚合与继承的关系 137

8.5 约定优于配置 139

8.6 反应堆 143

8.6.1 反应堆的构建顺序 144

8.6.2 裁剪反应堆 145

8.7 小结 147

第9章 使用Nexus创建私服 148

9.1 Nexus简介 149

9.2 安装Nexus 149

9.2.1 下载Nexus 149

9.2.2 Bundle方式安装Nexus 150

9.2.3 WAR方式安装Nexus 151

9.2.4 登录Nexus 152

9.3 Nexus的仓库与仓库组 152

9.3.1 Nexus内置的仓库 152

9.3.2 Nexus仓库分类的概念 154

9.3.3 创建Nexus宿主仓库 154

9.3.4 创建Nexus代理仓库 155

9.3.5 创建Nexus仓库组 156

9.4 Nexus的索引与构件搜索 157

9.5 配置Maven从Nexus下载构件 160

9.6 部署构件至Nexus 163

9.6.1 使用Maven部署构件至Nexus 163

9.6.2 手动部署第三方构件至Nexus 164

9.7 Nexus的权限管理 165

9.7.1 Nexus的访问控制模型 165

9.7.2 为项目分配独立的仓库 167

9.8 Nexus的调度任务 169

9.9 其他私服软件 170

9.10 小结 171

第10章 使用Maven进行测试 172

10.1 account-captcha 173

10.1.1 account-captcha的POM 173

10.1.2 account-captcha的主代码 175

10.1.3 account-captcha的测试代码 180

10.2 maven-surefire-plugin简介 184

10.3 跳过测试 184

10.4 动态指定要运行的测试用例 186

10.5 包含与排除测试用例 187

10.6 测试报告 188

10.6.1 基本的测试报告 189

10.6.2 测试覆盖率报告 190

10.7 运行TestNG测试 191

10.8 重用测试代码 193

10.9 小结 194

第11章 使用Hudson进行持续集成 195

11.1 持续集成的作用、过程和优势 196

11.2 Hudson简介 198

11.3 安装Hudson 199

11.4 准备Subversion仓库 200

11.5 Hudson的基本系统设置 203

11.6 创建Hudson任务 205

11.6.1 Hudson任务的基本配置 205

11.6.2 Hudson任务的源码仓库配置 206

11.6.3 Hudson任务的构建触发配置 207

11.6.4 Hudson任务的构建配置 208

11.7 监视Hudson任务状态 209

11.7.1 全局任务状态 209

11.7.2 自定义任务视图 211

11.7.3 单个任务状态 212

11.7.4 Maven项目测试报告 214

11.8 Hudson用户管理 215

11.9 邮件反馈 217

11.10 Hudson工作目录 218

11.11 小结 220

第12章 使用Maven构建Web应用 221

12.1 Web项目的目录结构 222

12.2 account-service 224

12.2.1 account-service的POM 224

12.2.2 account-service的主代码 225

12.3 account-web 230

12.3.1 account-web的POM 230

12.3.2 account-web的主代码 231

12.4 使用jetty-maven-plugin进行测试 237

12.5 使用Cargo实现自动化部署 239

12.5.1 部署至本地Web容器 239

12.5.2 部署至远程Web容器 241

12.6 小结 242

第13章 版本管理 243

13.1 何为版本管理 244

13.2 Maven的版本号定义约定 245

13.3 主干、标签与分支 246

13.4 自动化版本发布 247

13.5 自动化创建分支 252

13.6 GPG签名 253

13.6.1 GPG及其基本使用 254

13.6.2 Maven GPG Plugin 255

13.7 小结 258

第14章 灵活的构建 259

14.1 Maven属性 260

14.2 构建环境的差异 262

14.3 资源过滤 263

14.4 Maven Profile 265

14.4.1 针对不同环境的profile 265

14.4.2 激活profile 266

14.4.3 profile的种类 269

14.5 Web资源过滤 271

14.6 在profile中激活集成测试 272

14.7 小结 274

第15章 生成项目站点 275

15.1 最简单的站点 276

15.2 丰富项目信息 278

15.3 项目报告插件 281

15.3.1 JavaDocs 281

15.3.2 Source Xref 283

15.3.3 CheckStyle 284

15.3.4 PMD 286

15.3.5 ChangeLog 288

15.3.6 Cobertura 289

15.4 自定义站点外观 290

15.4.1 站点描述符 290

15.4.2 头部内容及外观 291

15.4.3 皮肤 292

15.4.4 导航边栏 294

15.5 创建自定义页面 295

15.6 国际化 298

15.7 部署站点 299

15.8 小结 302

第16章 m2eclipse 303

16.1 m2eclipse简介 304

16.2 新建Maven项目 304

16.3 导入Maven项目 306

16.3.1 导入本地Maven项目 307

16.3.2 从SCM仓库导入Maven项目 308

16.3.3 m2eclipse中Maven项目的结构 309

16.4 执行mvn命令 310

16.5 访问Maven仓库 312

16.5.1 Maven仓库视图 312

16.5.2 搜索构件和Java类 314

16.6 管理项目依赖 315

16.6.1 添加依赖 315

16.6.2 分析依赖 317

16.7 其他实用功能 319

16.7.1 POM编辑的代码提示 319

16.7.2 Effective POM 320

16.7.3 下载依赖源码 321

16.8 小结 321

第17章 编写Maven插件 323

17.1 编写Maven插件的一般步骤 324

17.2 案例:编写一个用于代码行统计的Maven插件 324

17.3 Mojo标注 331

17.4 Mojo参数 332

17.5 错误处理和日志 336

17.6 测试Maven插件 337

17.7 小结 341

第18章 Archetype 342

18.1 Archetype使用再叙 343

18.1.1 Maven Archetype Plugin 343

18.1.2 使用Archetype的一般步骤 343

18.1.3 批处理方式使用Archetype 344

18.1.4 常用Archetype介绍 345

18.2 编写Archetype 347

18.3 Archetype Catalog 352

18.3.1 什么是Archetype Catalog 352

18.3.2 Archetype Catalog的来源 353

18.3.3 生成本地仓库的Archetype Catalog 354

18.3.4 使用nexus-archetype-plugin 355

18.4 小结 356

附录A POM元素参考 357

附录B Settings元素参考 359

附录C 常用插件列表 360