Java世界中存在着很多工具,從著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到JVM profiling和監視工具(例如JConsole,VisualVM,Eclipse Memory Analyzer等)。
在本文中,我將重點介紹適用於各種Java開發人員(例如核心Java和Web開發人員)的通用工具。該列表絕沒有羅列出完整工具,如果您知道開發人員應該學習的一些好的工具,請在評論部分與大家分享吧。
1. Git
對於Java程序員,Git是更重要的工具之一。它是一個免費的開源分布式版本控制系統,旨在快速高效地處理從小型到大型項目的所有內容。Git易於學習,占地面積小,具有閃電般的性能,但不幸的是,我還沒有廣泛地研究Git。我已經使用Git使用Eclipse從GitHub下載開源項目和示例,但是我還沒有掌握Git命令行。
2.Docker
Docker是一個開源工具,用於自動在雲或物理服務器上部署應用程序。它允許開發人員和系統管理員在筆記本電腦,數據中心VM或雲上構建,交付和運行分布式應用程序。
3.Jenkins
Jenkins是用Java編寫的開源自動化服務器。它有助於自動化軟件開發過程中非人工的部分,例如,編譯項目,運行單元測試,集成測試以及生成文檔並在本地和遠程存儲庫上上傳工件。它是在項目中進行持續集成和實施持續交付的最受歡迎的工具之一。
4.Selenium
Selenium是Web應用程序的最佳軟件測試框架之一。它提供了用於編寫測試的回放工具,而無需學習測試腳本語言。Java開發人員可以使用Selenium來測試其HTML和JSP文件。它還提供了用於Web瀏覽器自動化的各種工具和庫。如果您處於自動化和測試領域,那么Selenium是您必須的選擇。
5. Groovy
您可以使用它編寫構建腳本,測試腳本,甚至使用諸如Gradle和Spock之類的流行框架。順便說一下,對於那些不了解的人,Apache Groovy是Java平台的一種面向對象的編程語言。它是一種動態語言,其功能類似於Python,Ruby,Perl和Smalltalk,並且通過提供簡潔而強大的語法來擴展Java。如果如果你還不會使用它,那么一定要去學會!為什么?因為它是Java的補充。使用Groovy,您可以在Java項目中做更多的事情,而不僅僅是堅持簡單的Java。
6. Spock
Spock是針對Java和Groovy應用程序的測試和規范框架。使它在人群中脫穎而出的是其優美而富有表現力的規范語言。由於其JUnit運行程序,Spock與大多數IDE,構建工具和持續集成服務器兼容。
7. Maven
如果您是經驗豐富的Java開發人員,那么您應該已經了解Maven,但是如果您是擁有1至2年經驗的新開發人員,那么它是學習的好工具。Apache Maven是一個構建和項目管理工具。基於項目對象模型(POM)的概念,Maven可用於從中央信息管理項目的構建,報告和文檔。Maven的另一個有用功能是依賴管理。由於我們在Java項目中使用了很多第三方庫,因此手動管理每個JAR文件及其依賴項可能會非常麻煩。Maven通過自動為您下載JAR解決該問題。
8.Gradle
Gradle是另一個開源構建自動化系統,它使用Apache Ant和Apache Maven的最佳思想,並將其帶入一個新的高度。它也是Android的默認構建工具。它引入了一種基於Groovy的域特定語言(DSL),而不是Apache Maven用來聲明項目配置的XML,這使得配置項目依賴項和根據您的需要對其進行自定義更加容易。為什么選擇Gradle而不是Ant或Maven?好吧,因為它結合了其他構建工具的最佳功能,並且具有Ant的靈活性和控制能力,Ivy的依賴關系管理,配置約定和Maven的插件,並且最重要的是,它在Ant之上使用了Groovy DSL。這使其成為Java的最佳構建工具。
Atlassian的JIRA是當今敏捷開發中最重要的工具之一。它用於錯誤跟蹤,問題跟蹤和項目管理。如果您遵循敏捷開發方法,例如Sprint和Scrum,那么您必須了解JIRA。它使您可以創建Spring周期並跟蹤軟件開發的進度。如果您渴望成為Scrum Master,我強烈建議您通過實際示例來掌握JIRA和Learn JIRA。它不僅教授JIRA的基本和高級功能,而且還為您很好地介紹了Confluence。
10. Java架構師學習公眾號
技術公眾號作者,寫有《JVM深入淺出系列》與《Spring Boot 從0-1》。勵志做一位可以幫助程序員共同成長的技術分享者!