Maven实战 -- 目录

 

《Maven实战》,许晓斌(Juven Xu),国内社区公认的Maven技术专家、Maven中文用户组创始人、Maven技术的先驱和积极推动者。2011.1初版。

基础性的构建工具,做Java的都会,会的程度参差不一,系统性的看一遍书,很快就能看完,可能有出乎意料的收获。

依赖冲突规则:路径不同,就近生效;路径相同,间接依赖,前面生效;直接依赖(在一个文件中,其实没这个搞的),后面生效。

 

第1章 Maven简介

 

1.1 何为 Maven

何为构建

Maven 是优秀的构建工具

Maven 不仅仅是构建工具

1.2 为什么需要Maven

组装 PC 和品牌 PC

IDE 不是万能的

Make

Ant

不重复发明轮子

1.3 Maven 与极限编程

1.4 被误解的 Maven

1.5 小结

 

第2章 Maven 的安装和配置

 

2.1 在 Windows 上安装 Maven

检查 JDK 安装

下载 Maven

本地安装

升级 Maven

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

下载和安装

升级 Maven

2.3 安装目录分析

M2_HOME

~/.m2

2.4 设置 HTTP 代理

2.5 安装m2eclipse

2.6 安装 NetBeans Maven 插件

2.7 Maven 安装最佳实践

设置 MAVEN_OPTS 环境变量

配置用户范围 settings.xml

不要使用 IDE 内嵌的 Maven

2.8 小结

 

第3章 Maven 使用入门

 

3.1 编写POM

3.2 编写主代码

3.3 编写测试代码

3.4 打包和运行

3.5 使用 Archetype 生成项目骨架

3.6 m2eclipse 简单使用

导入 Maven 项目

创建 Maven 项目

运行 mvn 命令

3.7 NetBean Maven 插件简单使用

打开 Maven 项目

创建 Maven 项目

运行 mvn 命令

3.8 小结

 

第4章 背景案例

 

4.1 简单的账号注册服务

4.2 需求阐述

需求用例

界面原型

4.3 简要设计

接口

模块结构

4.4 小结

 

第5章 座标和依赖

 

5.1 何为 Maven 座标

5.2 座标详解

5.3 account-email

account-email 的POM

account-email 的主代码

account-email 的测试代码

构建 account-email

5.4 依赖的配置

5.5 依赖范围

5.5 传递性依赖

何为传递性依赖

传递性依赖和依赖范围

5.7 依赖调解

5.8 可选依赖

5.9 最佳实践

排除依赖

归类依赖

优化依赖

5.10 小结

 

第6章 仓库

 

6.1 何为 Maven 仓库

6.2 仓库的布局

6.3 仓库的分类

本地仓库

远程仓库

中央仓库

私服

6.4 远程仓库的配置

远程仓库的认证

部署至远程仓库

6.5 快照版本

6.6 从仓库解析依赖的机制

6.7 镜像

6.8 仓库搜索服务

Sonatype Nexus

Jarvana

MVNbrowser

MVNrepository

选择合适的仓库搜索服务

6.9 小结

 

第7章 生命周期和插件

 

7.1 何为生命周期

7.2 生命周期详解

三套生命周期

clean 生命周期

default 生命周期

site 生命周期

命令行与生命周期

7.3 插件目标

7.4 插件绑定

内置绑定

自定义绑定

7.5 插件配置

命令行插件配置

POM 中插件全局配置

POM 中插件任务配置

7.6 获取插件信息

在线插件信息

使用 maven-help-plugin 描述插件

7.7 从命令行调用插件

7.8 插件解析机制

插件仓库

插件的默认 groupId

解析插件版本

解析插件前缀

7.9 小结

 

第8章 聚合与继承

 

8.1 account-persist

account-persist 的POM

account-persist 的主代码

account-persist 的测试代码

8.2 聚合

8.3 继承

account-parent

可继承的 POM 元素

依赖管理

插件管理

8.4 聚合与继承的关系

8.5 约定优于配置

8.6 反应堆

反应堆的构建顺序

裁剪反应堆

8.7 小结

 

第9章 使用Nexus创建私服

 

9.1 Nexus简介

9.2 安装 Nexus

下载 Nexus

Bundle 方式安装 Nexus

WAR 方式安装 Nexus

登录 Nexus

9.3 Nexus 的仓库与仓库组

Nexus 内置的仓库

Nexus 仓库分类的概念

创建 Nexus 宿主仓库

创建 Nexus 代理仓库

创建 Nexus 仓库组

9.4 Nexus 的索引与构件搜索

9.5 配置 Maven 从 Nexus 下载构件

9.6 部署构件至 Nexus

使用 Maven 部署构件至 Nexus

手动部署第三方构件至 Nexus

9.7 Nexus 的权限管理

Nexus 的访问控制模型

为项目分配独立的仓库

9.8 Nexus 的调度任务

9.9 其他私服软件

9.10 小结

 

第10章 使用 Maven 进行测试

 

10.1 account-captcha

account-captcha 的POM

account-captcha 的主代码

account-captcha 的测试代码

10.2 maven-surefire-plugin 简介

10.3 跳过测试

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

10.5 包含与排除测试用例

10.6 测试报告

基本的测试报告

测试覆盖率报告

10.7 运行 TestNG 测试

10.8 重用测试代码

10.9 小结

 

第11章 使用 Hudson 进行测试集成

 

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

11.2 Hudson 简介

11.3 安装 Hudson

11.4 准备 Subversion 仓库

11.5 Hudson 的基本系统设置

11.6 创建 Hudson 任务

Hudson 任务的基本配置

Hudson 任务的源码仓库配置

Hudson 任务的构建触发配置

11.7 监视 Hudson 任务状态

全局任务状态

自定义任务视图

单个任务状态

Maven 项目测试报告

11.8 Hudson 用户管理

11.9 邮件反馈

11.10 Hudson 工作目录

11.11 小结

 

第12章 使用 Maven 构建 Web 应用

 

12.1 Web项目的目录结构

12.2 account-service

account-service 的 POM

account-service 的主代码

12.3 account-web

account-web 的 POM

account-web 的主代码

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

12.5 使用 Cargo 实现自动化部署

部署至本地 Web 容器

部署至远程 Web 容器

 

第13章 版本管理

 

13.1 何为版本管理

13.2 Maven 的版本号定义约定

13.3 主干、标签与分支

13.4 自动化版本发布

13.5 自动化创建分支

13.6 GPG签名

GPG 及其基本使用

Maven GPG Plugin

13.7 小结

 

第14章 灵活的构建

 

14.1 Maven 属性

14.2 构建环境的差异

14.3 资源过滤

14.4 Maven Profile

针对不同环境的 profile

激活 profile

profile 的种类

14.5 Web 资源过滤

14.6 在 profile 中激活集成测试

14.7 小结

 

第15章 生成项目站点

 

15.1 最简单的站点

15.2 丰富项目信息

15.3 项目报告插件

JavaDocs

Source Xref

CheckStyle

PMD

ChangeLog

Cobertura

15.4 自定义站点外观

站点描述符

头部内容及外观

皮肤

导航边栏

15.5 创建自定义页面

15.6 国际化

15.7 部署站点

15.8 小结

 

第16章 m2eclipse

 

16.1 m2eclipse简介

16.2 新建 Maven 项目

16.3 导入 Maven 项目

导入本地 Maven 项目

从 SCM 仓库导入 Maven 项目

m2eclipse 中 Maven 项目的结构

16.4 执行 mvn 命令

16.5 访问 Maven 仓库

Maven 仓库视图

搜索构件和 Java 类

16.6 管理项目依赖

添加依赖

分析依赖

16.7 其他实用功能

POM 编辑的代码提示

Effective POM

下载依赖源码

16.8 小结

 

第17章 编写 Maven 插件

 

17.1 编写 Maven 插件的一般步骤

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

17.3 Mojo 标注

17.4 Mojo 参数

17.5 错误处理和日志

17.6 测试 Maven 插件

17.7 小结

 

第18章 Archetype

 

18.1 Archetype 使用再叙

Maven Archetype Plugin

使用 Archetype 的一般步骤

批处理方式使用 Archetype

常用 Archetype 介绍

18.2 编写 Archetype

18.3 Archetype Catalog

什么是 Archetype Catalog

Archetype Catalog 的来源

生成本地仓库的 Archetype Catalog

使用 nexus-archetype-plugin

 

附录A POM元素参考

附录B Settings 元素参考

附录C 常用插件列表

发布了119 篇原创文章 · 获赞 69 · 访问量 44万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章