Java世界中存在著很多工具惊来,從著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到JVM profiling和監(jiān)視工具(例如JConsole竖席,VisualVM怕午,Eclipse Memory Analyzer等)因块。
在本文中炫刷,我將重點(diǎn)介紹適用于各種Java開(kāi)發(fā)人員(例如核心Java和Web開(kāi)發(fā)人員)的通用工具。該列表絕沒(méi)有羅列出完整工具郁妈,如果您知道開(kāi)發(fā)人員應(yīng)該學(xué)習(xí)的一些好的工具浑玛,請(qǐng)?jiān)谠u(píng)論部分與大家分享吧。
1. Git
對(duì)于Java程序員噩咪,Git是更重要的工具之一顾彰。它是一個(gè)免費(fèi)的開(kāi)源分布式版本控制系統(tǒng),旨在快速高效地處理從小型到大型項(xiàng)目的所有內(nèi)容胃碾。Git易于學(xué)習(xí)涨享,占地面積小,具有閃電般的性能仆百,但不幸的是厕隧,我還沒(méi)有廣泛地研究Git。我已經(jīng)使用Git使用Eclipse從GitHub下載開(kāi)源項(xiàng)目和示例,但是我還沒(méi)有掌握Git命令行吁讨。
2.Docker
Docker是一個(gè)開(kāi)源工具髓迎,用于自動(dòng)在云或物理服務(wù)器上部署應(yīng)用程序。它允許開(kāi)發(fā)人員和系統(tǒng)管理員在筆記本電腦建丧,數(shù)據(jù)中心VM或云上構(gòu)建排龄,交付和運(yùn)行分布式應(yīng)用程序。
3.Jenkins
Jenkins是用Java編寫(xiě)的開(kāi)源自動(dòng)化服務(wù)器翎朱。它有助于自動(dòng)化軟件開(kāi)發(fā)過(guò)程中非人工的部分橄维,例如,編譯項(xiàng)目拴曲,運(yùn)行單元測(cè)試争舞,集成測(cè)試以及生成文檔并在本地和遠(yuǎn)程存儲(chǔ)庫(kù)上上傳工件。它是在項(xiàng)目中進(jìn)行持續(xù)集成和實(shí)施持續(xù)交付的最受歡迎的工具之一疗韵。
4.Selenium
Selenium是Web應(yīng)用程序的最佳軟件測(cè)試框架之一兑障。它提供了用于編寫(xiě)測(cè)試的回放工具,而無(wú)需學(xué)習(xí)測(cè)試腳本語(yǔ)言蕉汪。Java開(kāi)發(fā)人員可以使用Selenium來(lái)測(cè)試其HTML和JSP文件流译。它還提供了用于Web瀏覽器自動(dòng)化的各種工具和庫(kù)。如果您處于自動(dòng)化和測(cè)試領(lǐng)域者疤,那么Selenium是您必須的選擇福澡。
5. Groovy
您可以使用它編寫(xiě)構(gòu)建腳本,測(cè)試腳本驹马,甚至使用諸如Gradle和Spock之類的流行框架革砸。順便說(shuō)一下,對(duì)于那些不了解的人糯累,Apache Groovy是Java平臺(tái)的一種面向?qū)ο蟮木幊陶Z(yǔ)言算利。它是一種動(dòng)態(tài)語(yǔ)言,其功能類似于Python泳姐,Ruby效拭,Perl和Smalltalk,并且通過(guò)提供簡(jiǎn)潔而強(qiáng)大的語(yǔ)法來(lái)擴(kuò)展Java胖秒。如果如果你還不會(huì)使用它缎患,那么一定要去學(xué)會(huì)!為什么阎肝?因?yàn)樗荍ava的補(bǔ)充挤渔。使用Groovy,您可以在Java項(xiàng)目中做更多的事情风题,而不僅僅是堅(jiān)持簡(jiǎn)單的Java判导。
6. Spock
Spock是針對(duì)Java和Groovy應(yīng)用程序的測(cè)試和規(guī)范框架嫉父。使它在人群中脫穎而出的是其優(yōu)美而富有表現(xiàn)力的規(guī)范語(yǔ)言。由于其JUnit運(yùn)行程序骡楼,Spock與大多數(shù)IDE熔号,構(gòu)建工具和持續(xù)集成服務(wù)器兼容。
7. Maven
如果您是經(jīng)驗(yàn)豐富的Java開(kāi)發(fā)人員鸟整,那么您應(yīng)該已經(jīng)了解Maven引镊,但是如果您是擁有1至2年經(jīng)驗(yàn)的新開(kāi)發(fā)人員,那么它是學(xué)習(xí)的好工具篮条。Apache Maven是一個(gè)構(gòu)建和項(xiàng)目管理工具弟头。基于項(xiàng)目對(duì)象模型(POM)的概念涉茧,Maven可用于從中央信息管理項(xiàng)目的構(gòu)建赴恨,報(bào)告和文檔。Maven的另一個(gè)有用功能是依賴管理伴栓。由于我們?cè)贘ava項(xiàng)目中使用了很多第三方庫(kù)伦连,因此手動(dòng)管理每個(gè)JAR文件及其依賴項(xiàng)可能會(huì)非常麻煩。Maven通過(guò)自動(dòng)為您下載JAR解決該問(wèn)題钳垮。
8.Gradle
Gradle是另一個(gè)開(kāi)源構(gòu)建自動(dòng)化系統(tǒng)惑淳,它使用Apache Ant和Apache Maven的最佳思想,并將其帶入一個(gè)新的高度饺窿。它也是Android的默認(rèn)構(gòu)建工具歧焦。它引入了一種基于Groovy的域特定語(yǔ)言(DSL),而不是Apache Maven用來(lái)聲明項(xiàng)目配置的XML肚医,這使得配置項(xiàng)目依賴項(xiàng)和根據(jù)您的需要對(duì)其進(jìn)行自定義更加容易绢馍。為什么選擇Gradle而不是Ant或Maven?好吧肠套,因?yàn)樗Y(jié)合了其他構(gòu)建工具的最佳功能舰涌,并且具有Ant的靈活性和控制能力,Ivy的依賴關(guān)系管理你稚,配置約定和Maven的插件瓷耙,并且最重要的是,它在Ant之上使用了Groovy DSL入宦。這使其成為Java的最佳構(gòu)建工具。
9. JIRA
Atlassian的JIRA是當(dāng)今敏捷開(kāi)發(fā)中最重要的工具之一室琢。它用于錯(cuò)誤跟蹤乾闰,問(wèn)題跟蹤和項(xiàng)目管理。如果您遵循敏捷開(kāi)發(fā)方法盈滴,例如Sprint和Scrum涯肩,那么您必須了解JIRA轿钠。它使您可以創(chuàng)建Spring周期并跟蹤軟件開(kāi)發(fā)的進(jìn)度。如果您渴望成為Scrum Master病苗,我強(qiáng)烈建議您通過(guò)實(shí)際示例來(lái)掌握J(rèn)IRA和Learn JIRA疗垛。它不僅教授JIRA的基本和高級(jí)功能,而且還為您很好地介紹了Confluence硫朦。
10. Java架構(gòu)師學(xué)習(xí)公眾號(hào)
技術(shù)公眾號(hào)作者贷腕,寫(xiě)有《JVM深入淺出系列》與《Spring Boot 從0-1》。勵(lì)志做一位可以幫助程序員共同成長(zhǎng)的技術(shù)分享者咬展!