- 前言
- 第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]
- 1.3 Maven與極限編程
- 1.4 被誤解的Maven
- 1.5 小結
- 第2章 Maven的安裝和配置
- 2.1 在Windows上安裝Maven
- 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 配置用戶範圍settings.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.6.3 運行mvn命令
- 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.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.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 錯誤處理和日誌
- 17.6 測試Maven插件
- 17.7 小結
- 第18章 Archetype
- 18.1 Archetype使用再敘
- 18.1.1 Maven Archetype Plugin
- 18.1.2 使用Archetype的一般步驟
- 18.1.3 批處理方式使用Archetype
- 18.1.4 常用Archetype介紹
- 18.2 編寫Archetype
- 18.3 Archetype Catalog
- 18.3.1 什麼是Archetype Catalog
- 18.3.2 Archetype Catalog的來源
- 18.3.3 生成本地倉庫的Archetype Catalog
- 18.3.4 使用nexus-archetype-plugin
- 18.4 小結
- 附錄A POM元素參考
- 附錄B Settings元素參考
- 附錄C 常用插件列表
讀古今文學網 > Maven實戰小說線上看 >
Maven實戰
內容簡介:你是否早已厭倦了日復一日的手工構建工作?你是否對各個項目風格迥異的構建系統感到恐懼?Maven這一Java社區事實標準的項目管理工具,能幫你從瑣碎的手工勞動中解脫出來,幫你規範整個組織的構建系統。不僅如此,它還有依賴管理、自動生成項目站點等超酷的特性,已經有無數的開源項目使用它來構建項目並促進團隊交流,每天都有數以萬計的開發者在訪問中央倉庫以獲取他們需要的依賴。本書內容全面而系統,Maven的原理、使用方法和高級應用盡含其中;注重實戰是本書的另一個特點,不僅在各個知識點都輔有大量的小案例,而且還有一個綜合性的案例貫穿全書。如果你想使用Maven,或正在使用Maven,本書將給你絕佳的指導。……