作品简介

你是否早已厌倦了日复一日的手工构建工作?你是否对各个项目风格迥异的构建系统感到恐惧?Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目并促进团队交流,每天都有数以万计的开发者在访问中央仓库以获取他们需要的依赖。

本书内容全面而系统,Maven的原理、使用方法和高级应用尽含其中;注重实战是本书的另一个特点,不仅在各个知识点都辅有大量的小案例,而且还有一个综合性的案例贯穿全书。如果你想使用Maven,或正在使用Maven,本书将给你绝佳的指导。

许晓斌(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
  • 1.5 小结
  • 第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安装最佳实践
  • 2.8 小结
  • 第3章 Maven使用入门
  • 3.1 编写POM
  • 3.2 编写主代码
  • 3.3 编写测试代码
  • 3.4 打包和运行
  • 3.5 使用Archetype生成项目骨架
  • 3.6 m2eclipse简单使用
  • 3.7 NetBeans Maven插件简单使用
  • 3.8 小结
  • 第4章 背景案例
  • 4.1 简单的账户注册服务
  • 4.2 需求阐述
  • 4.3 简要设计
  • 4.4 小结
  • 第5章 坐标和依赖
  • 5.1 何为Maven坐标
  • 5.2 坐标详解
  • 5.3 account-email
  • 5.4 依赖的配置
  • 5.5 依赖范围
  • 5.6 传递性依赖
  • 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 仓库搜索服务
  • 6.9 小结
  • 第7章 生命周期和插件
  • 7.1 何为生命周期
  • 7.2 生命周期详解
  • 7.3 插件目标
  • 7.4 插件绑定
  • 7.5 插件配置
  • 7.6 获取插件信息
  • 7.7 从命令行调用插件
  • 7.8 插件解析机制
  • 7.9 小结
  • 第8章 聚合与继承
  • 8.1 account-persist
  • 8.2 聚合
  • 8.3 继承
  • 8.4 聚合与继承的关系
  • 8.5 约定优于配置
  • 8.6 反应堆
  • 8.7 小结
  • 第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 其他私服软件
  • 9.10 小结
  • 第10章 使用Maven进行测试
  • 10.1 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任务
  • 11.7 监视Hudson任务状态
  • 11.8 Hudson用户管理
  • 11.9 邮件反馈
  • 11.10 Hudson工作目录
  • 11.11 小结
  • 第12章 使用Maven构建Web应用
  • 12.1 Web项目的目录结构
  • 12.2 account-service
  • 12.3 account-web
  • 12.4 使用jetty-maven-plugin进行测试
  • 12.5 使用Cargo实现自动化部署
  • 12.6 小结
  • 第13章 版本管理
  • 13.1 何为版本管理
  • 13.2 Maven的版本号定义约定
  • 13.3 主干、标签与分支
  • 13.4 自动化版本发布
  • 13.5 自动化创建分支
  • 13.6 GPG签名
  • 13.7 小结
  • 第14章 灵活的构建
  • 14.1 Maven属性
  • 14.2 构建环境的差异
  • 14.3 资源过滤
  • 14.4 Maven Profile
  • 14.5 Web资源过滤
  • 14.6 在profile中激活集成测试
  • 14.7 小结
  • 第15章 生成项目站点
  • 15.1 最简单的站点
  • 15.2 丰富项目信息
  • 15.3 项目报告插件
  • 15.4 自定义站点外观
  • 15.5 创建自定义页面
  • 15.6 国际化
  • 15.7 部署站点
  • 15.8 小结
  • 第16章 m2eclipse
  • 16.1 m2eclipse简介
  • 16.2 新建Maven项目
  • 16.3 导入Maven项目
  • 16.4 执行mvn命令
  • 16.5 访问Maven仓库
  • 16.6 管理项目依赖
  • 16.7 其他实用功能
  • 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使用再叙
  • 18.2 编写Archetype
  • 18.3 Archetype Catalog
  • 18.4 小结
  • 附录A POM元素参考
  • 附录B Settings元素参考
  • 附录C 常用插件列表
展开全部