Java世界中存在许多工具,从着名的IDE(如Eclipse,NetBeans和IntelliJ IDEA)到JVM分析和监视工具(如JConsole,VisualVM,Eclipse Memory Analyzer等)。
在本文中,我将重点介绍适用于各种Java开发人员的通用工具,例如核心Java和Web开发人员。其中一个工具是JIRA,对于经验丰富的开发人员来说,这是必须要知道的,特别是如果你的团队遵循Sprint,Scrum和Kanban 等敏捷实践。JIRA提供了管理敏捷项目所需的所有工具。该列表并不完整,如果你了解更多开发人员应该学习的一些工具,请在评论部分与我们分享。
1. Git
Git是Java程序员最重要的工具之一。它是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务。Git很容易学习,占用空间小,性能非常快,但是,我没有在Git上做过大量工作。
2. Docker
Docker是一个开源工具,用于在云或物理服务器上自动部署应用程序。它允许开发人员和系统管理员构建,发布和运行分布式应用程序,无论是在笔记本电脑,数据中心虚拟机还是云上。
Docker与云,Linux和Windows供应商以及许多专注于IT自动化的公司合作,Docker很好地利用了这一点。
3. Jenkins
enkins是一个用Java编写的开源自动化服务器。它有助于自动化软件开发过程的非人工部分,例如编译项目,运行单元测试,集成测试,以及生成文档和在本地和远程存储库上上载工件。
它是在项目中持续集成和实施持续交付的最流行的工具之一。
4. Selenium
Selenium是Web应用程序最好的软件测试框架之一。它提供了一种用于创作测试的回放工具,而无需学习测试脚本语言。Java开发人员可以使用Selenium来测试他们的HTML和JSP文件。
它还为Web浏览器自动化提供了各种工具和库。如果在自动化和测试领域,那么Selenium必不可少。
5. Groovy
Groovy。为什么?因为它补充了Java。可以使用Groovy在Java项目中执行更多操作,而不仅仅是坚持使用普通Java。
可以使用它来编写构建脚本,测试脚本,甚至使用像Gradle和Spock这样的流行框架。
顺便说一句,对于那些不知道的人,Apache Groovy是Java平台的面向对象编程语言。
它是一种动态语言,其功能类似于Python,Ruby,Perl和Smalltalk,它通过提供简洁而强大的语法来扩展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项目的最佳构建工具。
9. JIRA
Atlassian的JIRA是当今敏捷开发世界中最重要的工具之一。它用于bug跟踪、问题跟踪和项目管理。
如果遵循敏捷开发方法,例如Sprint和Scrum,那么必须了解JIRA。它允许创建Spring循环并跟踪软件开发的进度。
10. Linux
如果还不了解Linux,这应该是在2019年学习的第一件事。这是你在大学里应该学会的技能之一。这也是一种可以为你服务很长时间的技术和技能。
Udemy的Linux命令行基础对于初学者和中级Linux用户来说都是一个很好的起点。
如果还有补充,请在评论区一起分享。