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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章