Java開發者常常都會想辦法如何更快地編寫Java代碼,讓編程變得更加輕松。目前,市面上涌現出越來越多的高效編程工具。所以,以下總結了一系列工具列表,其中包含了大多數開發人員已經使用、正在使用或將來一定會用到的高效工具。
1、測試
JUnit是一個Java語言的單元測試框架,用于編寫和運行可重復的測試。它為測試預期結果提供斷言,為共享的常用測試數據提供測試裝置(test fixtures),以及運行測試的測試者(test runners)。
TestNG是受到了JUnit的啟發開發而成,但同時還具有一些新功能,所以相對而言,TestNG更加強大也更便于使用,如注解(annotations)、靈活的測試配置、數據驅動的測試和參數支持,以及強大的執行模型。它涵蓋了單元測試、功能、端到端、集成測試,支持各種工具和插件(Eclipse、IDEA、Maven等)。
Arquillian是一個Java和JVM的測試平臺,主要側重于集成和功能測試。它去掉了單元測試,重點關注真正實時環境下的程序代碼的相互作用。Arquillian為測試配備了容器生命周期管理和典型測試精選。
2、集成
Apache Maven是一個非常著名的軟件項目管理和綜合工具?;陧椖繉ο竽P停≒OM)的概念,它的信息中心管理著項目的構建、報告和文檔。Maven提供了一個統一的構建系統、項目信息和最佳的開發實踐指導,并且支持新功能的透明遷移。
Gradle是一個開源的自動化構建系統。Gradle可以自動構建、測試、發布、部署,還有多種軟件包或其他類型項目,如生成靜態網站。Gradle結合了Ant的能力和靈活性,以及Maven的依賴管理和約定,形成了一種高效的構建方式。
Apache Ant是一個開源的Apache項目,經Apache軟件許可發布。它由多種內置任務而成,允許開發者編寫、裝配、測試和運行java應用程序。它的特點是高度靈活,不會嚴格限制Java項目的編碼慣例或目錄布局。
3、應用服務器
Apache Tomcat是一個開源的Web服務器和Servlet容器,由Apache軟件基金會(ASF)開發。它實現了幾個JavaEE規范,包括Java Servlet、JavaServer Pages(JSP)、Java EL和WebSocket,提供了一個可以運行Java代碼的HTTP Web服務器環境。
GlassFish是由SunMicrosystems的Java EE平臺起步,現在由Oracle公司贊助的開源應用服務器項目。支持的版本叫做Oracle GlassFish應用服務器。GlassFish是免費軟件,經兩個免費的軟件許可證批準:通用開發與發布許可(CDDL)和GNU通用公共許可證(GPL)。
Oracle WebLogic服務器是一個Java EE應用服務器,目前由Oracle公司開發,用于構建和部署企業應用Java EE,支持降低運營成本、提高性能、增強可擴展性和支持Oracle應用組合等的新特性。
4、質量分析
SonarQube是一個開源的平臺,現已成為代碼質量管理系統的世界領先者,并且因代碼質量的持續檢查為眾人所知。除了Java外,它還支持大多數的語言,而且可以用作Android開發,它集成了大多數的持續集成工具。SonarQube會為重復代碼、編碼標準、單元測試、代碼覆蓋、復雜代碼、潛在錯誤、注釋、設計和架構而產生報告。
FindBugs也是開源的工具,在LesserGNU Public license許可下發布。它運行在Java字節碼上而不是源代碼,可以識別和確定潛在錯誤的嚴重程度,如空指針引用、無限遞歸循環、Java庫和死鎖的錯誤使用。同時,它還可以作為Eclipse、NetBeans,IntelliJ IDEA的插件。
Checkstyle的是一個開發工具,可以幫助程序員堅持按編碼標準來編寫Java代碼,會自動啟動Java代碼檢查。它的配置性很強,能支持幾乎任何的編碼標準。
5、版本控制
Apache Subversion是眾所周知的SVN工具,是一個軟件版本和版本控制系統,在一個開源許可下發布。目前,它是由一個Apache軟件基金會的項目開發,也是全球性開發者和用戶社區的一部分。
Git是一個免費開源的分布式版本控制系統,能夠提高大小事務的速度和效率。相對于其他的配置管理工具,Git的特色在于提供廉價的局部分支、便利的暫存區和多個工作流。每個Git工作目錄是一個完整的版本庫,有完整歷史和完整版本的跟蹤能力、獨立的網絡接入或中央服務器。
6、Java應用分析
在為分析Java應用開發最創新的智能工具方面,YourKit Java分析器是技術的領頭羊。你可以在CPU和內存分析上都使用YourKit解決方案,還可以以最大生產率和零開銷來分析大型應用。同時,Java分析器還有幾個剛提出的分析創新,為其在各大小型企業的專業Java開發者獲得了當之無愧的人氣。
JProfiler是商業許可的Java分析工具,對于分析性能瓶頸、內存泄漏、CPU負載和解決線程問題等方面非常有效,它支持在同一臺機器或遠程機器上進行分析。用戶可以看到活躍的總字節、實例、線程、類和垃圾回收器活動的可視化表示。它可以作為一個獨立應用使用,也可以作為Eclipse軟件開發環境的插件。
7、代碼覆蓋工具
JaCoco是衡量和報告Java代碼覆蓋率的一個開源工具包。它是由Eclipse公共許可協議許可,是目前唯一能支持Java 8的字節代碼覆蓋工具。
Clover是一個商業的代碼覆蓋工具,它提供的指標可以讓程序員更好地平衡編程和測試。它在IDE或你的持續集成系統下運行,還包括能加快測試速度的測試優化。
8、Bug跟蹤
JIRA是幫助團隊規劃和構建優秀產品的跟蹤工具。成千上萬的團隊選擇JIRA來捕捉和組織問題、分配工作、跟進團隊活動。它是付費工具,但有一個7天的免費試用期。
Trac是一個針對軟件開發項目開發的完善wiki和問題的跟蹤系統,以最簡潔的方式對Web軟件項目進行管理。它還可以幫助開發人員編寫優秀的軟件,提供了對Subversion和Git(或其他版本控制系統)的接口,集成了wiki和便捷報告程序。Trac允許wiki在問題描述和提交信息中標記,還創建了bug、任務、變更、文件和頁面之間的鏈接和無縫引用。