==[201011][Maven 实战][许晓斌][著]==

第 1 章 Maven 简介

1.1 何为 Maven

1.1.1 何为构建

1.1.2 Maven 是优秀的构建工具

1.1.3 Maven 不仅仅是构建工具

1.2 为什么需要 Maven

1.2.1 组装 PC 和品牌 PC

1.2.2 IDE 不是万能的

1.2.3 Make

1.2.4 Ant

1.2.5 不重复发明轮子

1.3 Maven 与极限编程

1.4 被误解的 Maven

1.5 小结

第 2 章 Maven 的安装和配置

2.1 在 Windows 上安装 Maven

2.1.1 检查 JDK 安装

2.1.2 下载 Maven

2.1.3 本地安装

2.1.4 升级 Maven

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

2.2.1 下载和安装

2.2.2 升级 Maven

2.3 安装目录分析

2.3.1 M2_HOME

2.3.2 ~/.M2

2.4 设置 HTTP 代理

2.5 安装 m2eclipse

2.6 安装 NetBeans Maven 插件

2.7 Maven 安装最佳实践

2.7.1 设置 MAVEN_OPTS 环境变量

2.7.2 配置用户范围 setting.xml

2.7.3 不要使用 IDE 内嵌的 Maven

2.8 小结

第 3 章 Maven 使用入门

3.1 编写 POM

3.2 编写主代码

3.3 编写测试代码

3.4 打包和运行

3.5 使用 Archetype 生成项目骨架

3.6 m2eclipse 简单使用

3.6.1 导入 Maven 项目

3.6.2 创建 Maven 项目

3.7 NetBeans Maven 插件简单使用

3.7.1 打开 Maven 项目

3.7.2 创建 Maven 项目

3.7.3 运行 mvn 命令

3.8 小结

第 4 章 背景案例

4.1 简单的账户注册服务

4.2 需求阐述

4.2.1 需求用例

4.2.2 界面原型

4.3 简要设计

4.3.1 接口

4.3.2 模块结构

4.4 小结

第 5 章 坐标和依赖

5.1 何为 Maven 坐标

5.2 坐标详解

5.3 account-email

5.3.1 account-email 的 POM

5.3.2 account-email 的主代码

5.3.3 account-email 的测试代码

5.3.4 构建 account-email

5.4 依赖的配置

5.5 依赖范围

5.6 传递性依赖

5.6.1 何为传递性依赖

5.6.2 传递性依赖和依赖范围

5.7 依赖调解

5.8 可选依赖

5.9 最佳实践

5.9.1 排除依赖

5.9.2 归类依赖

5.9.3 优化依赖

5.10 小结

第 6 章 仓库

6.1 何为 Maven 仓库

6.2 仓库的布局

6.3 仓库的分类

6.3.1 本地仓库

6.3.2 远程仓库

6.3.3 中央仓库

6.3.4 私服

6.4 远程仓库的配置

6.4.1 远程仓库的认证

6.4.2 部署至远程仓库

6.5 快照版本

6.6 从仓库解析依赖的机制

6.7 镜像

6.8 仓库搜索服务

6.8.1 Sonatype Nexus

6.8.2 Jarvana

6.8.3 MVNbrowser

6.8.4 MVNrepository

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

6.9 小结

第 7 章 生命周期和插件

7.1 何为生命周期

7.2 生命周期详解

7.2.1 三套生命周期

7.2.2 clean 生命周期

7.2.3 default 生命周期

7.2.4 site 生命周期

7.2.5 命令行与生命周期

7.3 插件目标

7.4 插件绑定

7.4.1 内置绑定

7.4.2 自定义绑定

7.5 插件配置

7.5.1 命令行插件配置

7.5.2 POM 中插件全局配置

7.5.3 POM 中插件任务配置

7.6 获取插件信息

7.6.1 在线插件信息

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

7.7 从命令行调用插件

7.8 插件解析机制

7.8.1 插件仓库

7.8.2 插件的默认 groupId

7.8.3 解析插件版本

7.8.4 解析插件前缀

7.9 小结

第 8 章 聚合与继承

8.1 account-persist

8.1.1 account-persist 的 POM

8.1.2 account-persist 的主代码

8.1.3 account-persist 的测试代码

8.2 聚合

8.3 继承

8.3.1 account-parent

8.3.2 可继承的 POM 元素

8.3.3 依赖管理

8.3.4 插件管理

8.4 聚合与继承的关系

8.5 约定优于配置

8.6 反应堆

8.6.1 反应堆的构建顺序

8.6.2 裁剪反应堆

8.7 小结

第 9 章 使用 Nexus 创建私服

9.1 Nexus 简介

9.2 安装 Nexus

9.2.1 下载 Nexus

9.2.2 Bundle 方式安装 Nexus

9.2.3 WAR 方式安装 Nexus

9.2.4 登录 Nexus

9.3 Nexus 的仓库与仓库组

9.3.1 Nexus 内置的仓库

9.3.2 Nexus 仓库分类的概念

9.3.3 创建 Nexus 宿主仓库

9.3.4 创建 Nexus 代理仓库

9.3.5 创建 Nexus 仓库组

9.4 Nexus 的索引与构件搜索

9.5 配置 Maven 从 Nexus 下载构件

9.6 部署构件至 Nexus

9.6.1 使用 Maven 部署构件至 Nexus

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

9.7 Nexus 的权限管理

9.7.1 Nexus 的访问控制模型

9.7.2 为项目分配独立的仓库

9.8 Nexus 的调度任务

9.9 其他私服软件

9.10 小结

第 10 章 使用 Maven 进行测试

10.1 account-captcha

10.1.1 account-captcha 的 POM

10.1.2 account-captcha 的主代码

10.1.3 account-captcha 的测试代码

10.2 maven-surefire-plugin 简介

10.3 跳过测试

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

10.5 包含与排除测试用例

10.6 测试报告

10.6.1 基本的测试报告

10.6.2 测试覆盖率报告

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.6.1 Hudson 任务的基本配置

11.6.2 Hudson 任务的源码仓库配置

11.6.3 Hudson 任务的构建触发配置

11.6.4 Hudson 任务的构建配置

11.7 监视 Hudson 任务状态

11.7.1 全局任务状态

11.7.2 自定义任务视图

11.7.3 单个任务状态

11.7.4 Maven 项目测试报告

11.8 Hudson 用户管理

11.9 邮件反馈

11.10 Hudson 工作目录

11.11 小结

第 12 章 使用 Maven 构建 Web 应用

12.1 Web 项目的目录结构

12.2 account-service

12.2.1 account-service 的 POM

12.2.2 account-service 的主代码

12.3 account-web

12.3.1 account-web 的 POM

12.3.2 account-web 的主代码

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

12.5 使用 Cargo 实现自动化部署

12.5.1 部署至本地 Web 容器

12.5.2 部署至远程 Web 容器

12.6 小结

第 13 章 版本管理

13.1 何为版本管理

13.2 Maven 的版本号定义约定

13.3 主干、标签与分支

13.4 自动化版本发布

13.5 自动化创建分支

13.6 GPG 签名

13.6.1 GPG 及其基本使用

13.6.2 Maven GPG Plugin

13.7 小结

第 14 章 灵活的构建

14.1 Maven 属性

14.2 构建环境的差异

14.3 资源过滤

14.4 Maven Profile

14.4.1 针对不同环境的 profile

14.4.2 激活 profile

14.4.3 profile 的种类

14.5 Web 资源过滤

14.6 在 profile 中激活集成测试

14.7 小结

第 15 章 生成项目站点

15.1 最简单的站点

15.2 丰富项目信息

15.3 项目报告插件

15.3.1 JavaDocs

15.3.2 Source Xref

15.3.3 CheckStyle

15.3.4 PMD

15.3.5 ChangeLog

15.3.6 Cobertura

15.4 自定义站点外观

15.4.1 站点描述符

15.4.2 头部内容及外观

15.4.3 皮肤

15.4.4 导航边栏

15.5 创建自定义页面

15.6 国际化

15.7 部署站点

15.8 小结

第 16 章 m2eclipse

16.1 m2eclipse 简介

16.2 新建 Maven 项目

16.3 导入 Maven 项目

16.3.1 导入本地 Maven 项目

16.3.2 从 SCM 仓库导入 Maven 项目

16.3.3 m2eclipse 中 Maven 项目的结构

16.4 执行 mvn 命令

16.5 访问 Maven 仓库

16.5.1 Maven 仓库视图

16.5.2 搜索构件和 Java 类

16.6 管理项目依赖

16.6.1 添加依赖

16.6.2 分析依赖

16.7 其他实用功能

16.7.1 POM 编辑的代码提示

16.7.2 Effective POM

16.7.3 下载依赖源码

16.8 小结

第 17 章 编写 Maven 插件

17.1 编写 Maven 插件的一般步骤

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

17.3 Mojo 标注

17.4 Mojo 参数

17.5 错误处理和日志 336

17.6 测试 Maven 插件 337

17.7 小结

第 18 章 Archetype

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

[201011][Maven 实战][许晓斌][著]相关推荐

  1. pom文件依赖范围(来自Maven实战(书籍)-许晓斌)

    compile:编译依赖范围.如果没有指定,就会默认使用该依赖范围.使用此依赖范围的Maven依赖,对于编译.测试.运行三种classpath都有效.典型的例子是spring-core,在编译.测试和 ...

  2. Maven实战(二)——POM重构之增还是删

    重构是广大开发者再熟悉不过的技术,在Martin Fowler的<重构--改善既有代码的设计>一书中,其定义为"重构(名词):对软件内部结构的一种调整,目的是在不改变软件之可察行 ...

  3. Maven实战——常用Maven插件介绍

    http://www.infoq.com/cn/news/2011/04/xxb-maven-7-plugin 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任 ...

  4. Maven实战:Maven生命周期

    前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...

  5. 清华大学何晓斌:未来人才培养是大数据、AI和人文社会科学的结合

    [ 导读 ]由清华大学数据科学研究院.网易新闻.网易有道联合举办的"创新,无界--中国AI创新者论坛"于3月21日下午在清华大学举办.清华大学社科学院社会学系副教授何晓斌做了< ...

  6. 【许晓笛】 EOS智能合约案例解析(1)

    详解 EOS 智能合约的 hpp 文件 为了帮助大家熟悉 EOS 智能合约,EOS 官方提供了一个代币(资产)智能合约 Demo -- eosio.token.eosio.token 智能合约目前还不 ...

  7. Maven实战系列文章目录

    Maven实战(一)安装与配置 Maven实战(二)构建简单Maven项目 Maven实战(三)Eclipse构建Maven项目 Maven实战(四)生命周期 Maven实战(五)坐标详解 Maven ...

  8. 【许晓笛】 EOS 智能合约案例解析(2)

    详解 EOS 智能合约的 cpp 文件 之前的文章介绍了 eosio.token 智能合约的 hpp 文件,这次向大家介绍 eosio.token.cpp 文件,cpp 文件即 C++ 代码文件,智能 ...

  9. 《maven实战》笔记(2)----一个简单maven项目的搭建,测试和打包

    参照<maven实战>在本地创建对应的基本项目helloworld,在本地完成后项目结构如下: 可以看到maven项目的骨架: src/main/java(javaz主代码) src/te ...

  10. Maven实战(四)——基于Maven的持续集成实践

    相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订,它清晰地解释了持续集成的概念,并总结了 ...

最新文章

  1. 默认参数,不固定参数 *args,**kwargs
  2. FlexUnit单元测试(第三章FlexUnit事件断言)
  3. FreeRTOS初步认识
  4. 安装完php后iis 503,IIS上安装PHP5.3的完整教程方法(及5.3.0以后版本的方法)
  5. 编译原理实验语义分析_Windows MVSC编译器实现Xtended Flow Guard(XFG)保护机制的原理分析...
  6. 使用pyinstaller打包django3.2
  7. Mac OS 搭建phonegap开发环境
  8. component组件基础
  9. VLAN技术详解三(VLAN三种访问模式)
  10. 万用表二极管档和三极管档的使用
  11. 插上移动硬盘计算机没反应,移动硬盘插电脑没反应怎么办解决教程
  12. 有人在远程使用计算机是什么意思,如何远程控制计算机,计算机远程控制有什么用途...
  13. 子线程中使用Handler
  14. java横向导出excel_利用Java进行Excel的数据导入导出
  15. 混合高斯背景建模算法GMM
  16. easyexcel 检查表头是否匹配_利用easyexcel生成excel文件-自定义表头与数据栏对应的处理方式...
  17. 展望下未来的计算机400字,展望未来作文400字
  18. 全国计算机模拟PPT考试,全国计算机等级考试模拟试题2课件.ppt
  19. Python爬取虎牙主播图片
  20. Flutter版讯飞语音识别demo

热门文章

  1. php arrayaccess什么作用,PHP中的ArrayAccess用法详解
  2. 利润表三点式审阅:以御银股份为例
  3. 常见物理量的量纲在OpenFOAM中的表示
  4. linux的DRM应用程序,Linux中的DRM
  5. 计算机用户密码怎么查看,电脑密码如何查看? 电脑教程:查看方法
  6. 常用的项目团队管理方法
  7. PCB 一分钟科普之你真的懂多层板吗?
  8. reg、wire与logic的区别
  9. 最快零基础上手——latex文档标题、一级标题、二级标题、内容搭建
  10. abp The value could not be converted to a GUID: