文章目錄
商品描述編輯精選《Java開發超級工具集》:
所有真正的手藝人都需要最好的工具來完成最佳工作,程式員也不例外。《Java開發超級工具集》介紹了30種開源工具,這些工具被設計用於改進任何規模的團隊或組織中的Java開發人員的開發實踐。書中每章包括多個小節,每章介紹了一種特定工具(無論該工具是用於構建系統、版本控制還是用於開發過程的其他方面),因此,讀者相當於在一《Java開發超級工具集》中獲得了30本簡短參考書。無論選擇何種開發方法(敏捷開發、RUP、XP、SCRUM或是其他方法),《Java開發超級工具集》中的實用技術和工具都能協助使用者最佳化開發流程並將其自動化。《Java開發超級工具集》討論了Java開發的關鍵問題領域和最佳實務,重點介紹了開源工具,這些工具能夠提高開發週期中每個領域的生產效率,它們包括:構建工具,如Ant和Mayen2。
版本控制工具,如CVS和Subversion。品質度量工具,如CheckStyle、PMD、FindBugs和Jupiter文檔工具,這些工具可以減少用於編寫和維護文檔的時間,同時又能產生良好文檔。單元測試工具,如JUnit4、TestNG和開源測試覆蓋工具Cobertura。自動化整合、負載和效能測試工具;自動化Web服務、Swing介面和Web介面測試載入器。問題管理工具,如Bugzilla和Trac。持續整合工具,如Continuum、CruiseControl、LuntBuild和Hudson。這些工具可以改進開發實踐並使開發過程更加輕鬆,《Java開發超級工具集》是首席開發人員和軟體架構師的必讀讀物,它可以使其職業生活井然有序。媒體推薦這是一本相當實用的Java技術圖書,旨在協助讀者提高自己和團隊的生產力。這些工具的用法並不複雜,但很多開發人員因為不瞭解它們背後的動機和理念,對這些工具始終停留在“觀望”階段,想用卻一直不知道應該怎麼用才算用對、用好。本書語言精練、內容豐富,不僅提供了這些工具的”全景“,告訴讀者如何把這些工具組織在一起發揮出最大的作用,還給讀者留下了一定的選擇空間,讓他們能在同類產品中根據自己的喜好和項目的特點選擇適合自己的工具,而沒有將作者主觀的偏好強加於讀者。願這本書的出版能給廣大Java程式員和專案經理帶來生產力的飛躍。
——Rujia作者簡介作者:(美國)斯馬特(John Ferguson Smart) 譯者:張文波 等
John Ferguson Smart,是Wakaleo諮詢公司(www.wakaleo.com/)的首席諮詢顧問,該公司提供企業Java和敏捷開發方面的諮詢、培訓和指導服務。目錄第一部分 構建工具
第1章 使用Ant設定項目
1.1 構建過程中的Ant
1.2 安裝Ant
1.3 Ant概述
1.4 在Ant中編譯Java代碼
1.5 使用屬性自訂構建指令碼
1.6 在Ant中運行單元測試
1.7 用Javadoc產生文檔
1.8 將應用程式打包
1.9 部署應用程式
1.10 引導構建指令碼
1.11 用Maven任務在Ant中使用Maven依賴
1.12 在Eclipse中使用Ant
1.13 在NetBeans中使用Ant
1.14 用XMLTask操作XML
1.15 小結
第2章 使用Maven 2設定項目
2.1 Maven和開發構建過程
2.2 Maven和Ant
2.3 安裝Maven
2.4 聲明式構建和Maven項目物件模型
2.5 理解Maven 2的生命週期
2.6 Maven目錄結構
2.7 根據環境配置Maven
2.8 Maven 2中的依賴管理
2.9 用MvnRepository尋找依賴
2.10 項目繼承和彙總(Aggregation)
2.11 使用原型(Archetype)建立項目模板
2.12 編譯代碼
2.13 測試代碼
2.14 打包和部署應用程式
2.15 使用Cargo部署應用程式
2.16 在Eclipse中使用Maven
2.17 在NetBeans中使用Maven
2.18 使用外掛程式定製構建過程
2.19 用Archiva設定企業儲存區庫
2.20 使用Artifactory設定企業儲存區庫
2.21 在Maven中使用Ant
2.22 進階原型
2.23 使用組件(Assembly)
第二部分 版本控制工具
第3章 使用CVS設定版本控制
3.1 CVS概述
3.2 設定CVS倉庫
3.3 在CVS中建立新項目
3.4 檢出項目
3.5 處理檔案--更新和提交
3.6 解決倉庫鎖定問題
3.7 使用關鍵字替換
3.8 處理二進位檔案
3.9 CVS標記
3.10 在CVS中建立分支
3.11 從分支中合并更改
3.12 查看更改曆史
3.13 還原更改
3.14 在Windows中使用CVS
第4章 用Subversion設定版本控制
4.1 Subversion概述
4.2 安裝Subversion
4.3 Subversion倉庫類型
4.4 設定Subversion倉庫
4.5 設定新的Subversion項目
4.6 檢出工作複本
4.7 將現有檔案匯入到Subversion
4.8 理解Subversion倉庫的URL
4.9 使用檔案
4.10 查看目前狀態:Status命令
4.11 解決衝突
4.12 使用標記、分支和合并
4.13 復原到以前的修訂版本
4.14 對二進位檔案使用檔案鎖定
4.15 打破和竊取鎖定
4.16 用svn:needs-lock屬性使鎖定檔案成為唯讀
4.17 使用屬性
4.18 Subversion中的更改記錄:日誌和Blaming
4.19 用svnserve設定Subversion伺服器
4.20 設定安全的svnserve伺服器
4.21 設定支援WebDAV/DeltaV的Subversion伺服器
4.22 設定安全的WebDAV/DeltaV伺服器
4.23 用鉤子指令碼定製Subversion
4.24 將Subversion安裝為Windows服務
4.25 備份與還原Subversion倉庫
4.26 在Eclipse中使用Subversion
4.27 在NetBeans中使用Subversion
4.28 在Windows中使用Subversion
4.29 缺陷跟蹤和變更控制
4.30 在Ant中使用Subversion
4.31 小結
第三部分 持續整合
第5章 用Continuum設定持續整合伺服器
5.1 Continuum概述
5.2 安裝Continuum伺服器
5.3 手工啟動和停止伺服器
5.4 檢查伺服器狀態
5.5 以Verbose模式運行Continuum伺服器
5.6 添加項目組
5.7 添加Maven項目
5.8 添加Ant項目
5.9 添加外殼指令碼項目
5.10 管理項目構建
5.11 系統管理使用者
5.12 設定通知方法(Notifier)
5.13 配置和制訂構建計劃
5.14 調試構建
5.15 配置Continuum郵件伺服器
5.16 配置Continuum網站連接埠
5.17 用Continuum自動產生Maven網站
5.18 配置手工構建任務
5.19 小結
第6章 用CruiseControl設定持續整合伺服器
6.1 CruiseControl概述
6.2 安裝CruiseControl
6.3 配置Ant項目
6.4 用Publisher(發布器)通知開發人員
6.5 在CruiseControl中設定Maven 2項目
6.6 CruiseControl操作面板
6.7 第三方工具
6.8 小結
第7章 LuntBuild--基於Web的持續整合伺服器
7.1 LuntBuild概述
7.2 安裝LuntBuild
7.3 配置LuntBuild伺服器
7.4 添加項目
7.5 為版本編號使用項目變數
7.6 構建結果診斷
7.7 與Eclipse一起使用LuntBuild
7.8 在Luntbuild中使用Cobertura報告測試覆蓋
7.9 將Luntbuild與Maven整合
7.10 小結
第8章 使用Hudson進行持續整合
8.1 Hudson概述
8.2 安裝Hudson
8.3 管理Hudson的主目錄
8.4 安裝升級
8.5 配置Hudson
8.6 添加新構建任務
8.7 組織任務
8.8 監控構建
8.9 查看和提升特定構建
8.10 系統管理使用者
8.11 認證與安全
8.12 查看更改
8.13 Hudson外掛程式
8.14 記錄測試結果
8.15 記錄程式碼度量
8.16 報告代碼覆蓋
第9章 用Openfire設定立即訊息平台
9.1 開發項目中的立即訊息軟體
9.2 安裝Openfire
9.3 在Openfire上設定使用者賬戶
9.4 認證外部資料庫中的使用者
9.5 針對POP3伺服器認證使用者
9.6 用群聊天召開虛擬團隊會議
9.7 用Openfire外掛程式擴充功能
9.8 與Continuum一起使用Openfire
9.9 與CruiseControl一起使用Openfire
9.10 與Luntbuild一起使用Openfire
9.11 使用Smack API從Java應用程式中發送Jabber訊息
9.12 用Smack API檢測使用者是否線上
9.13 使用Smack API接收訊息
第四部分 單元測試
第10章 用JUnit測試代碼
10.1 JUnit 3.8和JUnit 4
10.2 用JUnit 4進行單元測試
10.3 設定和最佳化單元測試用例
10.4 用Timeout進行簡單的效能測試
10.5 輕鬆地檢查異常
10.6 使用帶參數的測試
10.7 使用assertThat和Hamcrest庫
10.8 JUnit 4的理論機制
10.9 與Maven 2一起使用JUnit 4
10.10 與Ant一起使用JUnit 4
10.11 在Ant中有選擇地運行JUnit 4測試
10.12 整合測試
10.13 在Eclipse中使用JUnit 4
第11章 用TestNG進行下一代測試
11.1 TestNG概述
11.2 用TestNG建立簡單單元測試
11.3 定義TestNG測試套件
11.4 Eclipse的TestNG外掛程式
11.5 在Ant中使用TestNG
11.6 與Maven 2一起使用TestNG
11.7 管理測試生命週期
11.8 使用測試組
11.9 管理依賴
11.10 並行測試
11.11 測試參數和資料驅動的測試
11.12 檢查異常
11.13 處理部分失敗
11.14 重新運行失敗的測試
第12章 用Cobertura 最大化測試覆蓋
12.1 測試覆蓋
12.2 從Ant中運行Cobertura
12.3 檢查TestNG測試的代碼覆蓋
12.4 理解Cobertura報告
12.5 實施高水平代碼覆蓋
12.6 在Maven中產生Cobertura報告
12.7 將覆蓋測試整合到Maven構建過程中
12.8 Eclipse中的代碼覆蓋
12.9 小結
第五部分 整合、功能、負載和效能測試
第13章 用StrutsTestCase測試Struts應用程式
13.1 概述
13.2 測試Struts應用程式
13.3 StrutsTestCase概述
13.4 使用StrutsTestCase 進行類比測試
13.5 測試Struts錯誤處理
13.6 定製測試環境
13.7 一級(First-level)效能測試
13.8 小結
第14章 用DbUnit進行資料庫整合測試
14.1 引言
14.2 概述
14.3 DbUnit的結構
14.4 應用程式範例
14.5 準備資料庫
14.6 驗證資料庫
14.7 替換值
14.8 其他資料集格式
14.9 處理自訂資料類型
14.10 其他應用
第15章 用JUnitPerf進行效能測試
15.1 JUnitPerf概述
15.2 用TimedTest測量效能
15.3 用LoadTest類比負載
15.4 對非安全執行緒的測試進行負載測試
15.5 在Ant中分離效能測試和單元測試
15.6 在Maven中分離效能測試和單元測試
第16章 用JMeter進行負載和效能測試
16.1 概述
16.2 安裝JMeter
16.3 測試簡單的web應用程式
16.4 組織測試案例
16.5 記錄和顯示測試結果
16.6 使用JMeterProxy 伺服器記錄測試案例
16.7 使用變數進行測試
16.8 在多台電腦上進行測試
第17章 用SoapUI測試Web服務
17.1 概述
17.1 SoapUI概述
17.2 安裝SoapUI
17.3 安裝本地web服務
17.4 用SoapUI測試web服務
17.5 用SoapUI進行負載測試
17.6 從命令列運行SoapUI
17.7 從Ant中運行SoapUI
17.8 從Maven中運行SoapUI
17.9 持續測試
17.10 小結
第18章 用Sun JDK工具監視和分析Java應用程式的效能
18.1 Sun JDK效能分析和監視工具
18.2 用jConsole串連並監視Java應用程式
18.3 用jConsole監視遠程Tomcat應用程式
18.4 用JDK工具檢測和識別記憶體泄露
18.5 用堆轉儲、jmap和jhat診斷記憶體泄露
18.6 檢測死結
第19章 在Eclipse中分析Java應用程式的效能
19.1 在整合式開發環境中分析應用程式的效能
19.2 Eclipse測試和效能工具平台
19.3 安裝TPTP
19.4 TPTP和Java 6
19.5 使用TPTP進行基本效能分析
19.6 用基本記憶體分析結果分析記憶體使用量
19.7 分析執行時間
19.8 顯示代碼覆蓋統計
19.9 使用過濾器最佳化結果
19.10 分析web應用程式的效能
19.11 小結
第20章 測試使用者介面
20.1 概述
20.2 用Selenium測試web應用程式
20.3 用FEST測試Swing圖形化使用者介面
20.4 小結
第六部分 品質度量工具
第21章 用Checkstyle檢測和實施編碼通訊協定
21.1 用Checkstyle實施編碼通訊協定
21.2 在Eclipse中使用Checkstyle
21.3 在Eclipse中定製Checkstyle規則
21.4 使用XML設定檔定製Checkstyle規則
21.5 定製Checkstyle:可以捨棄和使用的常見規則
21.6 用Checkstyle定義原始碼檔案頭規則
21.7 禁用Checkstyle測試
21.8 與Ant一起使用Checkstyle
21.9 與Maven一起使用Checkstyle
第22章 用PMD預先檢測錯誤
22.1 PMD和靜態程式碼分析
22.2 在Eclipse中使用PMD
22.3 在Eclipse中配置PMD規則
22.4 PMD規則集
22.5 編寫自己的PMD規則集
22.6 在Eclipse中產生PMD報告
22.7 禁用PMD規則
22.8 用CPD檢測剪下和粘貼
22.9 在Ant中使用PMD
22.10 在Maven中使用PMD
第23章 用FindBugs預先檢測錯誤
23.1 FindBugs:專業的程式錯誤偵測工具
23.2 在Eclipse中使用FindBugs
23.3 用FindBugs過濾器有選擇地禁用規則
23.4 使用FindBugs注釋
23.5 在Ant中使用FindBugs
23.6 在Maven中使用FindBugs
23.7 小結
第24章 檢查結果--用Jupiter進行半自動化程式碼檢閱
24.1 Jupiter概述--用於Eclipse的程式碼檢閱工具
24.2 在Eclipse中安裝Jupiter
24.3 理解Jupiter的程式碼檢閱流程
24.4 進行個人代碼審查
24.5 配置
24.6 設定預設配置值
24.7 單獨評審
24.8 團隊評審
24.9 返工階段
24.10 Jupiter的幕後處理
24.11 小結
第25章 用Mylyn突出工作重點
25.1 Mylyn概述
25.2 安裝Mylyn
25.3 跟蹤任務和問題
25.4 與任務倉庫進行互動
25.5 用上下文管理將工作重點集中在任務上
25.6 使用Eclipse更改集
25.7 與其他開發人員共用上下文
25.8 小結
第26章 監視構建統計資訊
26.1 概述
26.2 QALab
26.3 用StatSCM度量原始程式碼控制
26.4 在Ant中用StatSVN提供統計資訊
第七部分 問題管理工具
第27章 Bugzilla
27.1 Bugzilla概述
27.2 安裝Bugzilla
27.3 設定Bugzilla環境
27.4 系統管理使用者賬戶
27.5 使用使用者組來限制訪問
27.6 配置產品
27.7 用裡程碑跟蹤進度
27.8 用分類管理產品組
27.9 搜尋程式錯誤
27.10 建立新程式錯誤
27.11 Bugzilla程式錯誤的生命週期
27.12 安排通知(Whining)
27.13 在Bugzilla中定製欄位
27.14 小結
第28章 Trac-輕量級專案管理
28.1 Trac概述
28.2 安裝Trac
28.3 設定Trac項目
28.4 在獨立伺服器上運行Trac
28.5 將Tracd設定為Windows服務
28.6 在Apache伺服器上安裝Trac
28.7 管理Trac網站
28.8 系統管理使用者賬戶
28.9 剪裁Trac網站:使用Wiki功能
28.10 使用Trac Ticket管理系統
28.11 從Subversion中更新Trac問題
28.12 定製Trac Ticket的欄位
28.13 設定電子郵件通知
28.14 使用Trac查詢和報告
28.15 用Trac路線圖(Roadmap)和時間軸(Timeline)管理進度
28.16 瀏覽原始碼庫
28.17 使用RSS和ICalendar
28.18 使用Python定製wiki頁面
28.19 小結
第八部分 技術文檔工具
第29章 用Maven 2專案網站進行團隊溝通
29.1 作為溝通工具的Maven 2專案網站
29.2 設定Maven網站項目
29.3 將報告整合到網站中
29.4 建立專用Maven網站項目
29.5 定義網站架構
29.6 Maven網站產生架構
29.7 使用代碼片斷(Snippet)
29.8 定製網站外觀
29.9 發布網站
第30章 自動產生技術文檔
30.1 概述
30.2 用SchemaSpy直觀查看資料庫結構
30.3 用Doxygen產生原始碼文檔
30.4 用UmlGraph在Javadoc中嵌入UML圖表
30.5 小結
參考資料序言所有真正的藝人都需要最好的工具來完成最佳工作,程式員也不例外。本書介紹了30種開源工具,這些工具被設計用於改進任何規模的團隊或組織中的Java開發人員的開發實踐。
書中每章包括多個小節,每章介紹了一種特定工具(無論該工具是用於構建系統、版本控制還是用於開發過程的其他方面),因此,讀者相當於在一本書中獲得了30本簡短參考書。
無論選擇何種開發方法(敏捷開發、RUP、XP、SCRUM或是其他方法),本書中的實用技術和工具都能協助使用者最佳化開發流程並將其自動化。本書討論了Java開發的關鍵問題領域和最佳實務,重點介紹了開源工具,這些工具能夠提高開發週期中每個領域的生產效率,它們包括:
·構建工具,如Ant和Maven 2。
·版本控制工具,如CVS和Subversion。
·品質度量工具,如CheckStyle、PMD、FindBugs和Jupiter。
·文檔工具,這些工具可以減少用於編寫和維護文檔的時間,同時又能產生良好文檔。
·單元測試工具,如JUnit 4、TestNG和開源測試覆蓋工具Cobertura。
·自動化整合、負載和效能測試工具;自動化web服務、Swing介面和web介面測試載入器。
·問題管理工具,如Bugzilla和Trac。
·持續整合工具,如Continuum、CruiseControl、LuntBuild和Hudson。
這些工具可以改進開發實踐並使開發過程更加輕鬆,本書是首席開發人員和軟體架構師的必讀讀物,它可以使其職業生活井然有序。
John Ferguson Smart是Wakaleo諮詢公司(www.wakaleo.com/)的首席諮詢顧問,該公司提供企業Java和敏捷開發方面的諮詢、培訓和指導服務。