天天看點

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

本文主要介紹Java程式員應該在2019年學習的一些基本和進階工具。如果你是一位經驗豐富的Java開發人員,你可能對這些工具很熟悉,但如果不是,現在就是是開始學習這些工具的好時機。

Java世界中存在許多工具,從Eclipse,NetBeans和IntelliJ IDEA等著名的IDE開始到Java開發人員應該知道的JVM分析和監視工具,如JConsole,VisualVM,Eclipse Memory Analyzer等。

盡管如此,在本文中,我将重點介紹适用于各種Java開發人員的通用工具,例如核心Java 開發人員和Web開發人員。

1. JIRA

Atlassian的JIRA是目前靈活開發領域最重要的工具之一。它用于錯誤跟蹤,問題跟蹤和項目管理。如果你遵循靈活開發方法,例如Sprint和Scrum,那麼你必須了解JIRA。它允許您建立Spring循環并跟蹤軟體開發的進度。

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

JIRA 是目前比較流行的基于Java架構的管理系統,由于Atlassian公 司對很多開源項目實行免費提供缺陷跟蹤服務,是以在開源領域,其認知度比其他的産品要高得多,而且易用性也好一些。

2. Git

Git是Java程式員的另一個必備工具,它是一個免費的開源分布式版本控制系統,旨在快速高效地處理從很小到非常大的項目版本管理。Git易于學習,占用空間小,具有超強的性能。

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

最初 Git 的開發是為了輔助 Linux 核心開發的過程,但是發現已經在很多其他自由軟體項目中也使用了 Git。

3. Jenkins

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

Jenkins是一個用Java編寫的開源自動化伺服器。它有助于自動化軟體開發,例如編譯項目,運作單元測試,內建測試,生成文檔以及在本地和遠端存儲庫上載工件。主要用于:

● 持續、自動地建構/測試軟體項目,如CruiseControl與DamageControl。

● 監控一些定時執行的任務。

它是在項目中持續內建中最流行的工具之一。如果你還沒有開始使用Jenkins,那就從現在開始吧。

4. Selenium

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

Selenium是Web應用程式最好的軟體測試架構之一。它提供了一種用于創作測試的回放工具,而無需學習測試腳本語言。Java開發人員可以使用Selenium來測試他們的HTML和JSP檔案。

它還為Web浏覽器自動化提供了各種工具和庫。Selenium 現在存在2個版本,一個叫 selenium-core, 一個叫selenium-rc 。

5. Groovy

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

Groovy 是一種基于 JVM 的靈活開發語言,它結合了 Python、Ruby 和 Smalltalk 的許多強大的特性。你可以使用它編寫建構腳本,測試腳本,甚至可以使用像Gradle和Spock這樣的流行架構。

6、Spock

Spock 是适合 Java 和 Groovy 應用程式的一個測試架構。由于其JUnit運作程式,Spock與大多數IDE,建構工具和持續內建伺服器相容。如果你想提高你的單元測試技能,那麼多花點時間在學習Spock上總是沒錯的。

7. Maven

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

如果你是一位經驗豐富的Java開發人員,那麼你一定非常了解Maven了,Apache Maven是一個建構和項目管理工具,基于項目對象模型(POM)的概念,Maven可用于管理項目的生成、報告和文檔記錄。

Maven的另一個有用特性是依賴關系管理,由于我們在Java項目中使用了大量第三方庫,是以手動管理每個JAR及其依賴項可能非常麻煩,Maven通過自動為你下載下傳正确的JAR來幫助你解決問題

8. Gradle

Gradle 是一個基于 Apache Ant 和 Apache Maven 概念的項目自動化建構工具。它也是Android的預設建構工具。

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

它引入了基于Groovy的特定于域的語言(DSL),而不是Apache Maven用于聲明項目配置的XML,這樣有利于配置項目依賴關系以及使用者的項目自定義

為什麼選擇Gradle在Ant或Maven?因為它結合了其他建構工具的最佳特性,例如它具有Ant的靈活性和控制,Ivy的依賴管理,Maven的配置和插件的約定,以及可以在Ant上使用Groovy DSL。這使它成為Java項目的最佳建構工具。

9. Docker

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實作虛拟化。

容器是完全使用沙箱機制,互相之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和資料中心中運作。最重要的是,他們不依賴于任何語言、架構或包裝系統。

10. Linux

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux

初學Linux最好從Linux指令行基礎知識開始,Linux是一種自由和開放源碼的類Unix作業系統,在你的職業生涯中起到重要的作用,每一個Java開發者都應該學Linux。

如果以上工具還有你沒學會的,那就不要再錯過了趕緊學起來。

Java程式員必須掌握的10款開源工具1. JIRA2. Git3. Jenkins4. Selenium5. Groovy6、Spock7. Maven8. Gradle9. Docker10. Linux