天天看點

Java開發者高效工具整理

Java 開發者常常都會想辦法如何更快地編寫 Java 代碼,讓程式設計變得更加輕松。目前,市面上湧現出越來越多的高效程式設計工具。是以,以下總結了一系列工具清單,其中包含了大多數開發人員已經使用、正在使用或将來一定會用到的高效工具。這份清單名單包括內建開發環境、內建工具、測試和品質工具等。

1、內建開發環境

Eclipse是最有名也最廣泛使用的Java內建開發環境(IDE),允許開發者結合語言支援和其他功能到任何的預設包中,而且Eclipse市場有許多定制和擴充的插件。

IntelliJ已經引起了開發者的“追捧”,甚至比Eclipse還受寵,有免費版和專業版。IntelliJ為衆多Java EE架構提供了針對架構的編碼幫助和提升生産效率的功能,還有大多數應用伺服器的部署工具。

NetBeans的也屬于IDE類,允許開發者快速、簡便地開發桌面應用、移動應用和Web應用。NetBeans是免費開源的,還擁有全球性的使用者和開發者社群。

JDeveloper是Oracle提供的一個免費的內建開發環境,它為Oracle融合中間件和融合應用産品提供完整的端到端開發,支援整個開發生命周期。

2、測試

JUnit是一個Java語言的單元測試架構,用于編寫和運作可重複的測試。它為測試預期結果提供斷言,為共享的常用測試資料提供測試裝置(test fixtures),以及運作測試的測試者(test runners)。可以在這裡看一下JUnit的教程。

TestNG是受到了JUnit的啟發開發而成,但同時還具有一些新功能,是以相對而言,TestNG更加強大也更便于使用,如注解(annotations)、靈活的測試配置、資料驅動的測試和參數支援,以及強大的執行模型。它涵蓋了單元測試、功能、端到端、內建測試,支援各種工具和插件(Eclipse、IDEA、Maven等)。具體内容可以參考分别使用 Maven Failsafe 與 TestNG 進行單元測試與內建測試的文章。

Mockito是一個mocking架構,幫助開發者編寫具有簡潔API的精美測試。其測試的可讀性很好,并能産生清晰的驗證錯誤。使用Mockito還能在執行後可以對互動進行問詢。Mocks是透明的,是以開發者可以專注于測試標明的行為。更多詳情可以參考mockito的相關文章。

Arquillian是一個Java和JVM的測試平台,主要側重于內建和功能測試。它去掉了單元測試,重點關注真正實時環境下的程式代碼的互相作用。Arquillian為測試配備了容器生命周期管理和典型測試精選。

3、內建

Apache Maven是一個非常著名的軟體項目管理和綜合工具。基于項目對象模型(POM)的概念,它的資訊中心管理着項目的建構、報告和文檔。Maven提供了一個統一的建構系統、項目資訊和最佳的開發實踐指導,并且支援新功能的透明遷移。

Gradle是一個開源的自動化建構系統。Gradle可以自動建構、測試、釋出、部署,還有多種軟體包或其他類型項目,如生成靜态網站。Gradle結合了Ant的能力和靈活性,以及Maven的依賴管理和約定,形成了一種高效的建構方式。

Apache Ant是一個開源的Apache項目,經Apache軟體許可釋出。它由多種内置任務而成,允許開發者編寫、裝配、測試和運作java應用程式。它的特點是高度靈活,不會嚴格限制Java項目的編碼慣例或目錄布局。

Apache Ivy是一種流行的依賴管理工具,注重靈活性和簡單性。它是Apache Ant項目的一個子項目,而Ivy用來解決項目依賴項。外部的XML檔案定義項目依賴項,并列出建構項目的所需資源。然後Ivy從artifact 存儲庫(artifact repository)中下載下傳資源,它具有良好的靈活性和可配置性。Apache Ivy 是由Apache Apache Ant內建的,是以将使Apache Maven的依賴管理優勢也帶到Apache Ant建構檔案中,為那些已經使用Apache Ant且不想遷移到Apache Maven的開發者提供了便利。

4、應用伺服器

Apache Tomcat是一個開源的Web伺服器和Servlet容器,由Apache軟體基金會(ASF)開發。它實作了幾個Java EE規範,包括Java Servlet、JavaServer Pages(JSP)、Java EL和WebSocket,提供了一個可以運作Java代碼的HTTP Web伺服器環境。想要了解更多請點選。

WildFly,其前身是JBoss AS或Jboss,是一個由Jboss開發的應用伺服器,現在由紅帽在開發維護。它是用Java編寫的,并且實作了Java平台和企業版(Java EE)規範。WildFly是可以在多個平台上運作的免費開源工具。

GlassFish是由Sun Microsystems的Java EE平台起步,現在由Oracle公司贊助的開源應用伺服器項目。支援的版本叫做Oracle GlassFish應用伺服器。 GlassFish是免費軟體,經兩個免費的軟體許可證準許:通用開發與釋出許可(CDDL)和GNU通用公共許可證(GPL)。

Oracle WebLogic 伺服器是一個Java EE應用伺服器,目前由Oracle公司開發,用于建構和部署企業應用Java EE,支援降低營運成本、提高性能、增強可擴充性和支援Oracle應用組合等的新特性。

5、Web應用測試

Apache JMeter是開源的Apache項目,實際上是一個專為負載功能測試和性能測試的Java應用。它最初的設計是用于Web應用,但現在已擴充到其他測試功能。它可以測試靜态和動态資源性能,模拟一個或多個伺服器負載來測試它的強度或者分析不同負載類型下的整體性能。可以檢視關于Jmeter的更多詳情。

SoapUI是一個免費的開源跨平台的功能測試解決方案。它提供了一個圖形界面和企業級功能,允許建立和執行自動化功能、回歸、符合性和負載測試。SoapUI在一個測試環境下提供了完整的測試覆寫率,而且支援所有的标準協定和技術。

6、品質分析

SonarQube是一個開源的平台,現已成為代碼品質管理系統的世界領先者,并且因代碼品質的持續檢查為衆人所知。除了Java外,它還支援大多數的語言,而且可以用作Android開發,它內建了大多數的持續內建工具。SonarQube會為重複代碼、編碼标準、單元測試、代碼覆寫、複雜代碼、潛在錯誤、注釋、設計和架構而産生報告。

FindBugs也是開源的工具,在Lesser GNU Public license許可下釋出。它運作在Java位元組碼上而不是源代碼,可以識别和确定潛在錯誤的嚴重程度,如空指針引用、無限遞歸循環、Java庫和死鎖的錯誤使用。同時,它還可以作為Eclipse、NetBeans,IntelliJ IDEA的插件。可以參考FindBugs Eclipse執行個體。

PMD是一個源代碼分析器。它可以檢測到常見的程式設計錯誤,如未使用的變量、空的catch塊、不必要的對象建立等等。它支援除了包括Java的大多數語言,還包含CPD、複制粘貼探測器。

Checkstyle的是一個開發工具,可以幫助程式員堅持按編碼标準來編寫Java代碼,會自動啟動Java代碼檢查。它的配置性很強,能支援幾乎任何的編碼标準。

7、版本控制

Apache Subversion是衆所周知的SVN工具,是一個軟體版本和版本控制系統,在一個開源許可下釋出。目前,它是由一個Apache軟體基金會的項目開發,也是全球性開發者和使用者社群的一部分。

Git是一個免費開源的分布式版本控制系統,能夠提高大小事務的速度和效率。相對于其他的配置管理工具,Git的特色在于提供廉價的局部分支、便利的暫存區和多個工作流。每個Git工作目錄是一個完整的版本庫,有完整曆史和完整版本的跟蹤能力、獨立的網絡接入或中央伺服器。可以檢視更多Git的文章。

8、持續內建

Jenkins是一個屢獲殊榮的應用程式,能夠監視重複的工作,從建立一個軟體項目到由cron運作的作業。它的基本功能是不斷建立和測試軟體項目,使得開發者能更容易地将變更內建到項目中,使使用者更容易獲得新的建構。Jenkins還可以監控外部運作任務的執行,如cron jobs,即使是運作在遠端計算機上的任務。

Apache Continuum是一個企業級持續內建伺服器。提供的特性包括:自動建構、釋出管理、基于角色的權限管理,以及能與其它流行建構工具和源代碼管理系統相內建。

Hudson是一個用Java編寫的持續內建(CI)工具,在應用伺服器上運作。它支援各種SCM工具,如Subversion、Git,可以執行Apache Ant和Apache Maven項目,以及任意shell腳本和Windows批處理指令。它監視重複任務的執行,如建立一個軟體項目或由cron運作的作業。

9、Java 應用分析

在為分析Java應用開發最創新的智能工具方面,YourKit Java分析器是技術的領頭羊。你可以在CPU和記憶體分析上都使用YourKit解決方案,還可以以最大生産率和零開銷來分析大型應用。同時,Java分析器還有幾個剛提出的分析創新,為其在各大小型企業的專業Java開發者獲得了當之無愧的人氣。

JProfiler是商業許可的Java分析工具,對于分析性能瓶頸、記憶體洩漏、CPU負載和解決線程問題等方面非常有效,它支援在同一台機器或遠端機器上進行分析。使用者可以看到活躍的總位元組、執行個體、線程、類和垃圾回收器活動的可視化表示。它可以作為一個獨立應用使用,也可以作為Eclipse軟體開發環境的插件。

OneAPM For Java 可以展示業務代碼的trace,實時展示緩慢的sql語句和nosql操作,還可以友善地監控JVM。可以智能探知 Java 應用之間的互相調用關系,通過串聯複雜的背景元件,動态生成 J2EE 應用整體架構視圖。通過拓撲圖直覺了解分布式或 SOA 架構應用的運作狀态,準确定位系統問題。同時監控背景事務和 Web 事務。

10、代碼覆寫工具

JaCoco是衡量和報告Java代碼覆寫率的一個開源工具包。它是由Eclipse公共許可協定許可,是目前唯一能支援Java 8的位元組代碼覆寫工具。

Clover是一個商業的代碼覆寫工具,它提供的名額可以讓程式員更好地平衡程式設計和測試。它在IDE或你的持續內建系統下運作,還包括能加快測試速度的測試優化。

11、Bug跟蹤

JIRA是幫助團隊規劃和建構優秀産品的跟蹤工具。成千上萬的團隊選擇JIRA來捕捉群組織問題、配置設定工作、跟進團隊活動。它是付費工具,但有一個7天的免費試用期。

Trac是一個針對軟體開發項目開發的完善wiki和問題的跟蹤系統,以最簡潔的方式對Web軟體項目進行管理。它還可以幫助開發人員編寫優秀的軟體,提供了對Subversion和Git(或其他版本控制系統)的接口,內建了wiki和便捷報告程式。Trac允許wiki在問題描述和送出資訊中标記,還建立了bug、任務、變更、檔案和頁面之間的連結和無縫引用。

12、文檔生成工具

Javadoc是Oracle公司用來從Java源代碼中生成HTML格式API文檔的生成工具。IDE可以自動生成HTML代碼。許多檔案編輯器幫助使用者生成Javadoc源,并将 Javadoc 資訊當作程式員的内部參考。Javadoc也提供了用于建立doclets和taglets的API,讓你能夠進一步分析 Java 應用的結構。

Document! X是自動化的Java文檔工具和完整的文檔編寫環境的結合體,可以用來為你的Java項目建立準确的專業文檔。它會自動将生成的文檔內建在Java IDEs中,同時還能給庫、命名空間、類、接口、構造函數、方法、屬性和字段生成文檔頁面。

以上就是為Java開發者提供的一系列可以提高程式設計效率的工具,盡情試用吧!以後,媽媽再也不用擔心你的“高效開發”了!

繼續閱讀