來源:http://t.cn/Ai9la34A本文主要介紹Java程序員在2020年應(yīng)該學(xué)習(xí)的一些基本和高級(jí)工具。
如果您是一位經(jīng)驗(yàn)豐富的Java開發(fā)人員,您可能熟悉這些工具,但如果現(xiàn)在還不熟悉,是開始學(xué)習(xí)這些工具的好時(shí)機(jī)。
Java世界中有許多工具,從著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到Java開發(fā)人員應(yīng)該知道的JVM分析和監(jiān)視工具(例如JConsole,VisualVM,Eclipse Memory Analyzer等),盡管如此,在本文中,我將專注于面向各種Java開發(fā)人員的通用工具,例如核心Java開發(fā)人員和Web開發(fā)人員。
1. JIRA Atlassian的JIRA是當(dāng)前敏捷開發(fā)領(lǐng)域中最重要的工具之一。
它用于錯(cuò)誤跟蹤,問題跟蹤和項(xiàng)目管理。
如果您遵循諸如Sprint和Scrum之類的敏捷開發(fā)方法,那么您必須了解JIRA。
它允許您創(chuàng)建Spring循環(huán)并跟蹤軟件開發(fā)進(jìn)度。
JIRA當(dāng)前是更流行的基于Java的管理系統(tǒng)。
由于Atlassian為許多開源項(xiàng)目提供了免費(fèi)的缺陷跟蹤服務(wù),因此其在開源領(lǐng)域的認(rèn)知度遠(yuǎn)遠(yuǎn)高于其他產(chǎn)品,并且易用性也有所提高。
2. Git Git是Java程序員的另一個(gè)必不可少的工具。
它是一個(gè)免費(fèi)的開源分布式版本控制系統(tǒng),旨在快速有效地處理從小型到大型項(xiàng)目的版本管理。
Git簡(jiǎn)單易學(xué),占用空間小,性能超群。
Git最初是為了協(xié)助Linux內(nèi)核開發(fā)過程而開發(fā)的,但是已經(jīng)發(fā)現(xiàn)Git也已用于許多其他自由軟件項(xiàng)目中。
3. Jenkins Jenkins是用Java編寫的開源自動(dòng)化服務(wù)器。
它有助于自動(dòng)化軟件開發(fā),例如編譯項(xiàng)目,運(yùn)行單元測(cè)試,集成測(cè)試,生成文檔以及在本地和遠(yuǎn)程存儲(chǔ)庫中上傳工件。
主要用于:●連續(xù)自動(dòng)地構(gòu)建/測(cè)試軟件項(xiàng)目,例如CruiseControl和DamageControl。
●監(jiān)視一些計(jì)劃的任務(wù)。
它是在項(xiàng)目中進(jìn)行持續(xù)集成的最受歡迎的工具之一。
如果您尚未開始使用Jenkins,請(qǐng)立即開始。
4. Selenium Selenium是針對(duì)Web應(yīng)用程序的最佳軟件測(cè)試框架之一。
它提供了用于編寫測(cè)試的重放工具,而無需學(xué)習(xí)測(cè)試腳本語言。
Java開發(fā)人員可以使用Selenium來測(cè)試其HTML和JSP文件。
它還提供了用于Web瀏覽器自動(dòng)化的各種工具和庫。
Selenium當(dāng)前有兩個(gè)版本,一個(gè)稱為selenium-core,另一個(gè)稱為selenium-rc。
5. Groovy Groovy是一種基于JVM的敏捷開發(fā)語言,它結(jié)合了Python,Ruby和Smalltalk的許多強(qiáng)大功能。
您可以使用它來編寫構(gòu)建腳本,測(cè)試腳本,甚至可以使用諸如Gradle和Spock之類的流行框架。
6. Spock Spock是一個(gè)適用于Java和Groovy應(yīng)用程序的測(cè)試框架。
由于其JUnit運(yùn)行時(shí),Spock與大多數(shù)IDE,構(gòu)建工具和持續(xù)集成服務(wù)器兼容。
如果您想提高單元測(cè)試技能,那么花更多的時(shí)間學(xué)習(xí)Spock總是正確的。
7. Maven如果您是一位經(jīng)驗(yàn)豐富的Java開發(fā)人員,那么您必須非常了解Maven。
Apache Maven是一個(gè)構(gòu)建和項(xiàng)目管理工具。
基于項(xiàng)目對(duì)象模型(POM)的概念,Maven可用于管理項(xiàng)目,報(bào)告和文檔的生成。
Maven的另一個(gè)有用功能是依賴管理。
由于我們?cè)贘ava項(xiàng)目中使用了大量的第三方庫,因此手動(dòng)管理每個(gè)JAR及其依賴項(xiàng)可能非常麻煩。
Maven將通過自動(dòng)為您下載正確的JAR來幫助您。
解決問題8. Gradle Gradle是一個(gè)基于Apache Ant和Apache Maven概念的自動(dòng)化項(xiàng)目構(gòu)建工具。
它也是Android的默認(rèn)構(gòu)建工具。
它引入了一種基于Groovy的領(lǐng)域特定語言(DSL),而不是Apache Maven用來聲明項(xiàng)目配置的XML。
這有利于配置項(xiàng)目依賴項(xiàng)和用戶項(xiàng)目自定義。
為什么選擇在Ant或Maven中使用Gradle?例如,由于它結(jié)合了其他構(gòu)建工具的最佳功能,因此具有靈活性和對(duì)Ant的控制能力,Ivy的依賴管理,Maven的配置和插件約定,以及可以使用Groovy DSL。
在螞蟻上。
這使其成為Java項(xiàng)目的最佳構(gòu)建工具。
9. Docker Docker是一個(gè)開放源代碼的應(yīng)用程序容器引擎,允許開發(fā)人員將其應(yīng)用程序和相關(guān)程序包打包到一個(gè)可移植的容器中,然后將其發(fā)布到任何可以虛擬化的流行Linux機(jī)器上。
容器完全使用沙盒機(jī)制,它們之間沒有接口(類似于iPhone應(yīng)用程序)。
幾乎沒有性能開銷,并且可以在計(jì)算機(jī)上輕松運(yùn)行