當前位置:才華齋>計算機>java語言>

Java程式設計師必知的幾種系列輔助開發工具

java語言 閱讀(1.57W)

Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此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公司贊助的開源應用伺服器專案。支援的版本叫做OracleGlassfish應用伺服器。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執行的作業。