Maven实战

阅读
¥25.00
  • 导言
  • 目录
  • 作品信息

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

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

许晓斌(Juven Xu),国内社区公认的Maven技术专家、Maven中文用户组创始人、Maven技术的先驱和积极推动者。对Maven有深刻的认识,实战经验丰富,不仅撰写了大量关于Maven的技术文章,而且还翻译了开源书籍《Maven权威指南》,对Maven技术在国内的普及和发展做出了很大的贡献。就职于Maven之父的公司,负责维护Maven中央仓库,是Maven仓库管理器Nexus(著名开源软件)的核心开发者之一,曾多次受邀到淘宝等大型企业开展Maven方面的培训。此外,他还是开源技术的积极倡导者和推动者,擅长Java开发和敏捷开发实践。

  1. 前言
  2. 为什么写这本书
  3. 本书面向的读者
  4. 本书的主要内容
  5. 本书代码下载
  6. 咖啡与工具
  7. 致谢
  8. 第1章 Maven实战
  9. 1.1 何为Maven
  10. 1.1.1 何为构建
  11. 1.1.2 Maven是优秀的构建工具
  12. 1.1.3 Maven不仅仅是构建工具
  13. 1.2 为什么需要Maven
  14. 1.2.1 组装PC和品牌PC
  15. 1.2.2 IDE不是万能的
  16. 1.2.3 Make
  17. 1.2.4 Ant
  18. 1.2.5 不重复发明轮子
  19. 1.3 Maven与极限编程
  20. 1.4 被误解的Maven
  21. 1.5 小结
  22. 第2章 Maven的安装和配置
  23. 2.1 在Windows上安装Maven
  24. 2.1.1 检查JDK安装
  25. 2.1.2 下载Maven
  26. 2.1.3 本地安装
  27. 2.1.4 升级Maven
  28. 2.2 在基于UNIX的系统上安装Maven
  29. 2.2.1 下载和安装
  30. 2.2.2 升级Maven
  31. 2.3 安装目录分析
  32. 2.3.1 M2_HOME
  33. 2.3.2 ~/.m2
  34. 2.4 设置HTTP代理
  35. 2.5 安装m2eclipse
  36. 2.6 安装NetBeans Maven插件
  37. 2.7 Maven安装最佳实践
  38. 2.7.1 设置MAVEN_OPTS环境变量
  39. 2.7.2 配置用户范围settings.xml
  40. 2.7.3 不要使用IDE内嵌的Maven
  41. 2.8 小结
  42. 第3章 Maven使用入门
  43. 3.1 编写POM
  44. 3.2 编写主代码
  45. 3.3 编写测试代码
  46. 3.4 打包和运行
  47. 3.5 使用Archetype生成项目骨架
  48. 3.6 m2eclipse简单使用
  49. 3.6.1 导入Maven项目
  50. 3.6.2 创建Maven项目
  51. 3.6.3 运行mvn命令
  52. 3.7 NetBeans Maven插件简单使用
  53. 3.7.1 打开Maven项目
  54. 3.7.2 创建Maven项目
  55. 3.7.3 运行mvn命令
  56. 3.8 小结
  57. 第4章 背景案例
  58. 4.1 简单的账户注册服务
  59. 4.2 需求阐述
  60. 4.2.1 需求用例
  61. 4.2.2 界面原型
  62. 4.3 简要设计
  63. 4.3.1 接口
  64. 4.3.2 模块结构
  65. 4.4 小结
  66. 第5章 坐标和依赖
  67. 5.1 何为Maven坐标
  68. 5.2 坐标详解
  69. 5.3 account-email
  70. 5.3.1 account-email的POM
  71. 5.3.2 account-email的主代码
  72. 5.3.3 account-email的测试代码
  73. 5.3.4 构建account-email
  74. 5.4 依赖的配置
  75. 5.5 依赖范围
  76. 5.6 传递性依赖
  77. 5.6.1 何为传递性依赖
  78. 5.6.2 传递性依赖和依赖范围
  79. 5.7 依赖调解
  80. 5.8 可选依赖
  81. 5.9 最佳实践
  82. 5.9.1 排除依赖
  83. 5.9.2 归类依赖
  84. 5.9.3 优化依赖
  85. 5.10 小结
  86. 第6章 仓库
  87. 6.1 何为Maven仓库
  88. 6.2 仓库的布局
  89. 6.3 仓库的分类
  90. 6.3.1 本地仓库
  91. 6.3.2 远程仓库
  92. 6.3.3 中央仓库
  93. 6.3.4 私服
  94. 6.4 远程仓库的配置
  95. 6.4.1 远程仓库的认证
  96. 6.4.2 部署至远程仓库
  97. 6.5 快照版本
  98. 6.6 从仓库解析依赖的机制
  99. 6.7 镜像
  100. 6.8 仓库搜索服务
  101. 6.8.1 Sonatype Nexus
  102. 6.8.2 Jarvana
  103. 6.8.3 MVNbrowser
  104. 6.8.4 MVNrepository
  105. 6.8.5 选择合适的仓库搜索服务
  106. 6.9 小结
  107. 第7章 生命周期和插件
  108. 7.1 何为生命周期
  109. 7.2 生命周期详解
  110. 7.2.1 三套生命周期
  111. 7.2.2 clean生命周期
  112. 7.2.3 default生命周期
  113. 7.2.4 site生命周期
  114. 7.2.5 命令行与生命周期
  115. 7.3 插件目标
  116. 7.4 插件绑定
  117. 7.4.1 内置绑定
  118. 7.4.2 自定义绑定
  119. 7.5 插件配置
  120. 7.5.1 命令行插件配置
  121. 7.5.2 POM中插件全局配置
  122. 7.5.3 POM中插件任务配置
  123. 7.6 获取插件信息
  124. 7.6.1 在线插件信息
  125. 7.6.2 使用maven-help-plugin描述插件
  126. 7.7 从命令行调用插件
  127. 7.8 插件解析机制
  128. 7.8.1 插件仓库
  129. 7.8.2 插件的默认groupId
  130. 7.8.3 解析插件版本
  131. 7.8.4 解析插件前缀
  132. 7.9 小结
  133. 第8章 聚合与继承
  134. 8.1 account-persist
  135. 8.1.1 account-persist的POM
  136. 8.1.2 account-persist的主代码
  137. 8.1.3 account-persist的测试代码
  138. 8.2 聚合
  139. 8.3 继承
  140. 8.3.1 account-parent
  141. 8.3.2 可继承的POM元素
  142. 8.3.3 依赖管理
  143. 8.3.4 插件管理
  144. 8.4 聚合与继承的关系
  145. 8.5 约定优于配置
  146. 8.6 反应堆
  147. 8.6.1 反应堆的构建顺序
  148. 8.6.2 裁剪反应堆
  149. 8.7 小结
  150. 第9章 使用Nexus创建私服
  151. 9.1 Nexus简介
  152. 9.2 安装Nexus
  153. 9.2.1 下载Nexus
  154. 9.2.2 Bundle方式安装Nexus
  155. 9.2.3 WAR方式安装Nexus
  156. 9.2.4 登录Nexus
  157. 9.3 Nexus的仓库与仓库组
  158. 9.3.1 Nexus内置的仓库
  159. 9.3.2 Nexus仓库分类的概念
  160. 9.3.3 创建Nexus宿主仓库
  161. 9.3.4 创建Nexus代理仓库
  162. 9.3.5 创建Nexus仓库组
  163. 9.4 Nexus的索引与构件搜索
  164. 9.5 配置Maven从Nexus下载构件
  165. 9.6 部署构件至Nexus
  166. 9.6.1 使用Maven部署构件至Nexus
  167. 9.6.2 手动部署第三方构件至Nexus
  168. 9.7 Nexus的权限管理
  169. 9.7.1 Nexus的访问控制模型
  170. 9.7.2 为项目分配独立的仓库
  171. 9.8 Nexus的调度任务
  172. 9.9 其他私服软件
  173. 9.10 小结
  174. 第10章 使用Maven进行测试
  175. 10.1 account-captcha
  176. 10.1.1 account-captcha的POM
  177. 10.1.2 account-captcha的主代码
  178. 10.1.3 account-captcha的测试代码
  179. 10.2 maven-surefire-plugin简介
  180. 10.3 跳过测试
  181. 10.4 动态指定要运行的测试用例
  182. 10.5 包含与排除测试用例
  183. 10.6 测试报告
  184. 10.6.1 基本的测试报告
  185. 10.6.2 测试覆盖率报告
  186. 10.7 运行TestNG测试
  187. 10.8 重用测试代码
  188. 10.9 小结
  189. 第11章 使用Hudson进行持续集成
  190. 11.1 持续集成的作用、过程和优势
  191. 11.2 Hudson简介
  192. 11.3 安装Hudson
  193. 11.4 准备Subversion仓库
  194. 11.5 Hudson的基本系统设置
  195. 11.6 创建Hudson任务
  196. 11.6.1 Hudson任务的基本配置
  197. 11.6.2 Hudson任务的源码仓库配置
  198. 11.6.3 Hudson任务的构建触发配置
  199. 11.6.4 Hudson任务的构建配置
  200. 11.7 监视Hudson任务状态
  201. 11.7.1 全局任务状态
  202. 11.7.2 自定义任务视图
  203. 11.7.3 单个任务状态
  204. 11.7.4 Maven项目测试报告
  205. 11.8 Hudson用户管理
  206. 11.9 邮件反馈
  207. 11.10 Hudson工作目录
  208. 11.11 小结
  209. 第12章 使用Maven构建Web应用
  210. 12.1 Web项目的目录结构
  211. 12.2 account-service
  212. 12.2.1 account-service的POM
  213. 12.2.2 account-service的主代码
  214. 12.3 account-web
  215. 12.3.1 account-web的POM
  216. 12.3.2 account-web的主代码
  217. 12.4 使用jetty-maven-plugin进行测试
  218. 12.5 使用Cargo实现自动化部署
  219. 12.5.1 部署至本地Web容器
  220. 12.5.2 部署至远程Web容器
  221. 12.6 小结
  222. 第13章 版本管理
  223. 13.1 何为版本管理
  224. 13.2 Maven的版本号定义约定
  225. 13.3 主干、标签与分支
  226. 13.4 自动化版本发布
  227. 13.5 自动化创建分支
  228. 13.6 GPG签名
  229. 13.6.1 GPG及其基本使用
  230. 13.6.2 Maven GPG Plugin
  231. 13.7 小结
  232. 第14章 灵活的构建
  233. 14.1 Maven属性
  234. 14.2 构建环境的差异
  235. 14.3 资源过滤
  236. 14.4 Maven Profile
  237. 14.4.1 针对不同环境的profile
  238. 14.4.2 激活profile
  239. 14.4.3 profile的种类
  240. 14.5 Web资源过滤
  241. 14.6 在profile中激活集成测试
  242. 14.7 小结
  243. 第15章 生成项目站点
  244. 15.1 最简单的站点
  245. 15.2 丰富项目信息
  246. 15.3 项目报告插件
  247. 15.3.1 JavaDocs
  248. 15.3.2 Source Xref
  249. 15.3.3 CheckStyle
  250. 15.3.4 PMD
  251. 15.3.5 ChangeLog
  252. 15.3.6 Cobertura
  253. 15.4 自定义站点外观
  254. 15.4.1 站点描述符
  255. 15.4.2 头部内容及外观
  256. 15.4.3 皮肤
  257. 15.4.4 导航边栏
  258. 15.5 创建自定义页面
  259. 15.6 国际化
  260. 15.7 部署站点
  261. 15.8 小结
  262. 第16章 m2eclipse
  263. 16.1 m2eclipse简介
  264. 16.2 新建Maven项目
  265. 16.3 导入Maven项目
  266. 16.3.1 导入本地Maven项目
  267. 16.3.2 从SCM仓库导入Maven项目
  268. 16.3.3 m2eclipse中Maven项目的结构
  269. 16.4 执行mvn命令
  270. 16.5 访问Maven仓库
  271. 16.5.1 Maven仓库视图
  272. 16.5.2 搜索构件和Java类
  273. 16.6 管理项目依赖
  274. 16.6.1 添加依赖
  275. 16.6.2 分析依赖
  276. 16.7 其他实用功能
  277. 16.7.1 POM编辑的代码提示
  278. 16.7.2 Effective POM
  279. 16.7.3 下载依赖源码
  280. 16.8 小结
  281. 第17章 编写Maven插件
  282. 17.1 编写Maven插件的一般步骤
  283. 17.2 案例:编写一个用于代码行统计的Maven插件
  284. 17.3 Mojo标注
  285. 17.4 Mojo参数
  286. 17.5 错误处理和日志
  287. 17.6 测试Maven插件
  288. 17.7 小结
  289. 第18章 Archetype
  290. 18.1 Archetype使用再叙
  291. 18.1.1 Maven Archetype Plugin
  292. 18.1.2 使用Archetype的一般步骤
  293. 18.1.3 批处理方式使用Archetype
  294. 18.1.4 常用Archetype介绍
  295. 18.2 编写Archetype
  296. 18.3 Archetype Catalog
  297. 18.3.1 什么是Archetype Catalog
  298. 18.3.2 Archetype Catalog的来源
  299. 18.3.3 生成本地仓库的Archetype Catalog
  300. 18.3.4 使用nexus-archetype-plugin
  301. 18.4 小结
  302. 附录A POM元素参考
  303. 附录B Settings元素参考
  304. 附录C 常用插件列表

作者许晓斌

类别 图书 / 非虚构

出版社机械工业出版社

出版日期

ISBN9787111321545

提供方华章数媒

标签计算机(1342)编程(360)软件工程(32)Java(36)

喜欢这本书的人也喜欢

来自豆瓣读书的评论17