当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > Maven实战
出版社:机械工业出版社
出版日期:2010年12月
ISBN:9787111321545
作者:许晓斌
页数:361页
章节摘录
插图:
前言
2007年的时候,我加入了一个新成立的开发团队,我们一起做一个新的项目。经验较丰富的同事习惯性地开始编写Ant.脚本,也有人希望能尝试一下Maven。当时我比较年轻,且富有激情,因此大家决定让我对Maven做些研究和实践。于是我慢慢开始学习并推广Maven,这期间有人支持,也有人抵触,而我则尽力地为大家排除困难,并做一些内部交流,渐渐地,抵触的人越来越少,我的工作也得到了大家的认可。为什么一开始有人会抵触这一优秀的技术呢?后来我开始反思这一经历,我认为Maven陡峭的学习曲线和匮乏的文档是当时最主要的问题。为了能改善这个问题,我开始在博客中撰写各类关于Maven的中文博客,翻译了O’Reilly出版的《Maven权威指南》一书,并建立了国内的Maven中文社区,不定期地回答各类Maven相关问题,这在一定程度上推动了Ma-Yen这一优秀的技术在国内的传播。
媒体关注与评论
随着近两年Maver、在国内的普及,越来越多的公司和项目开始接受并使用其作为项目构建与依赖管理工具, Java开发人员对Maven 相关的资料的需求也越来越迫切。Juver Xu作为Sotlatype的员工和《Maven权威指南》的译者,对Maven有着非常深刻的理解,他为Maven中文社区所做的工作也为推动Maven 的发展做出了重要的贡献。这本书是Juven牺牲了将近一年的业余时间创作而成的,内容全面、实战性强、深度和广度兼备,是Maven中文社区不可多得的优秀参考资料。 ——Maven中文用户组本国语言的Maven参考资料永远是受欢迎的,而现在Juver Xu——一位活跃在开源社区的知名Maver、专家正好有条件编写一本关于Maven 的中文图书。本书将带领你一步步从认识Maven 开始,逐渐走向更高级的现实世界中的真实项目应用。这本书的主要内容不仅包括Maven在Web领域的应用、使用Maven 管理版本发布,以及如何编写自己的Maver、插件,而且还涵盖了许多如何在企业环境中应用Maven 的技术细节,例如Eclipse集成、Nexus仓库管理器以及用Hudson进行持续集成等。如果你是一位正在使用Maven 的中国程序员,本书是必备的! ——John Smart Wakaoeo Consuting首席咨询顾问 《JavaPowerTools》(O'Relly出版)作者终于看到Maven 的中文图书面世啦,虽然Maven 是 Java项目构建工具的事实标准,但是相关的资枓还比较少,更别说完整和系统的中文资料了。非常感谢Ju ven 牺牲业余时间完成了本书,为 Java程序员快速了解和使用Maven 提供了参考。虽然很多、Java项目都在使用Maven 进行管理,但是仍然有不少开发人员还在使用传统的方法管理项目,相信这本书会给你带来不一样的项目构建和管理体验。 ——雷卷 淘宝技术专家 mvnsearch.org作者
内容概要
许晓斌(Juven Xu),国内社区公认的Maven技术专家、Maven中文用户组创始人、Maven技术的先驱和积极推动者。对Maven有深刻的认识,实战经验丰富,不仅撰写了大量关于Maven的技术文章,而且还翻译了开源书籍《Maven权威指南》,对Maven技术在国内的普及和发展做出了很大的贡献。就职于Maven之父的公司,负责维护Maven中央仓库,是Maven仓库管理器Nexus(著名开源软件)的核心开发者之一,曾多次受邀到淘宝等大型企业开展Maven方面的培训。此外,他还是开源技术的积极倡导者和推动者,擅长Java开发和敏捷开发实践。
书籍目录
1. Maven简介
1.1 何为Maven
1.2 为什么需要Maven
1.3 Maven与极限编程
1.4 被误解的Maven
2. Maven安装
2.1 在Windows上安装Maven
2.2 在基于Unix的系统上安装Maven
2.3 安装目录分析
2.4 设置HTTP代理
2.5 安装m2eclipse
2.6 安装NetBeans Maven插件
2.7 Maven安装最佳实践
3. Hello World
3.1 编写POM
3.2 编写主代码
3.3 编写测试代码
3.4 打包和运行
3.5 使用Archetype生成项目骨架
3.6 m2eclipse简单使用
3.7 NetBeans Maven插件简单使用
4. 背景案例
4.1 简单的账户注册服务
4.2 需求阐述
4.3 简要设计
5. 坐标和依赖
5.1 何为Maven坐标
5.2 坐标详解
5.3 account-email
5.4 依赖的配置
5.5 依赖范围
5.6 传递性依赖
5.7 依赖调解
5.8 可选依赖
5.9 最佳实践
6. 仓库
6.1 何为Maven仓库
6.2 仓库的布局
6.3 仓库的分类
6.4 远程仓库的配置
6.5 快照版本
6.6 从仓库解析依赖的机制
6.7 镜像
6.8 仓库搜索服务
7. 生命周期和插件
7.1 何为生命周期
7.2 生命周期详解
7.3 插件目标
7.4 插件绑定
7.5 插件配置
7.6 获取插件信息
7.7 从命令行调用插件
7.8 插件解析机制
8. 聚合与继承
8.1 account-persist
8.2 聚合
8.3 继承
8.4 聚合与继承的关系
8.5 约定优于配置
8.6 反应堆
9. 使用 Nexus 创建私服
9.1 Nexus简介
9.2 安装Nexus
9.3 Nexus的仓库与仓库组
9.4 Nexus的索引与构件搜索
9.5 配置Maven从Nexus下载构件
9.6 部署构件至Nexus
9.7 Nexus的权限管理
9.8 Nexus的调度任务
9.9 其他私服软件
10. 使用 Maven 进行测试
10.1 account-captcha
10.2 maven-surefire-plugin简介
10.3 跳过测试
10.4 动态指定要运行的测试用例
10.5 包含与排除测试用例
10.6 测试报告
10.7 运行TestNG测试
10.8 重用测试代码
11. 使用 Hudson 进行持续集成
11.1 持续集成的作用、过程和优势
11.2 Hudson简介
11.3 安装Hudson
11.4 准备Subversion仓库
11.5 Hudson的基本系统设置
11.6 创建Hudson任务
11.7 监视Hudson任务状态
11.8 Hudson用户管理
11.9 邮件反馈
11.10 Hudson工作目录
12. 构建 Web 应用
12.1 Web项目的基本结构
12.2 account-service
12.3 account-web
12.4 使用jetty-maven-plugin进行测试
12.5 使用Cargo实现自动化部署
13. 版本管理
13.1 何为版本管理
13.2 Maven的版本号定义约定
13.3 主干、标签与分支
13.4 自动化版本发布
13.5 自动化创建分支
13.6 GPG签名
14. 灵活的构建
14.1 Maven属性
14.2 构建环境的差异
14.3 资源过滤
14.4 Maven Profile
14.5 Web资源过滤
14.6 在Profile中激活集成测试
15. 生成项目站点
15.1 最简单的站点
15.2 丰富项目信息
15.3 项目报告插件
15.4 自定义站点外观
15.5 创建自定义页面
15.6 国际化
15.7 部署站点
16. m2eclipse
16.1 m2eclipse简介
16.2 安装m2eclipse
16.3 新建Maven项目
16.4 导入Maven项目
16.5 执行mvn命令
16.6 访问Maven仓库
16.7 管理项目依赖
16.8 其它实用功能
17. 编写 Maven 插件
17.1 编写Maven插件的一般步骤
17.2 代码行统计Maven插件
17.3 Mojo标注
17.4 Mojo参数
17.5 错误处理和日志
17.6 测试Maven插件
18. Archetype
18.1 Archetype使用再叙
18.2 编写Archetype
18.3 Archetype Catalog
编辑推荐
《Maven实战》:国内首本Maven著作,内容全面,实战性强公认的Maven专家亲自执笔,中外技术专家联袂推荐,权威性毋庸置疑你是否早已厌倦了日复一日的手工构建工作?你是否对各种项目风格迥异的构建系统感到恐惧?Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性.已经有无数的开源项目使用它来构建并促进团队交流,每天都有数以万计的开发者访问中央仓库以获取他们需要的依赖。《Maven实战》内容全面而系统,Maven的原理、使用方法和高级应用尽含其中;注重实战是《Maven实战》的另一个特点,不仅各个知识点都辅有小案例,而且还有一个综合性的案例贯穿全书。如果你想使用Maven,或正在使用Maven.《Maven实战》将给你绝佳的指导。
作者简介
你是否早已厌倦了日复一日的手工构建工作?你是否对各个项目风格迥异的构建系统感到恐惧?Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目并促进团队交流,每天都有数以万计的开发者在访问中央仓库以获取他们需要的依赖。
本书内容全面而系统,Maven的原理、使用方法和高级应用尽含其中;注重实战是本书的另一个特点,不仅在各个知识点都辅有大量的小案例,而且还有一个综合性的案例贯穿全书。如果你想使用Maven,或正在使用Maven,本书将给你绝佳的指导。
本书讨论专区:http://www.juvenxu.com/mvn-in-action/
图书封面