Many tools exist in the Java world, from well-known ides (such as Eclipse, NetBeans, and IntelliJ IDEA) to JVM profiling and monitoring tools (such as JConsole, VisualVM, Eclipse Memory Analyzer, etc.).

In this article, I’ll focus on generic tools for Java developers of all kinds, such as core Java and Web developers. This list is by no means a complete list of tools, so if you know of some good ones developers should learn, please share them in the comments section.

1. Git

Git is one of the more important tools for Java programmers. It is a free, open source distributed version control system designed to handle everything from small to large projects quickly and efficiently. Git is easy to learn, has a small footprint, and lightning-fast performance.

2.Docker

Docker is an open source tool for automatically deploying applications on cloud or physical servers. It allows developers and system administrators to build, deliver, and run distributed applications on laptops, data center VMS, or the cloud.

3.Jenkins

Jenkins is an open source automation server written in Java. It helps automate non-manual parts of the software development process, such as compiling projects, running unit tests, integration tests, and generating documentation and uploading artifacts to local and remote repositories. It is one of the most popular tools for continuous integration and implementation of continuous delivery in a project.

4.Selenium

Selenium is one of the best software testing frameworks for Web applications. It provides playback tools for writing tests without having to learn the test scripting language. Java developers can use Selenium to test their HTML and JSP files. It also provides various tools and libraries for Web browser automation. If you are in the automation and testing world, Selenium is a must.

5. Groovy

You can use it to write build scripts, test scripts, and even popular frameworks like Gradle and Spock. By the way, for those who don’t know, Apache Groovy is an object-oriented programming language for the Java platform. It is a dynamic language that functions like Python, Ruby, Perl, and Smalltalk, and extends Java by providing a concise and powerful syntax. If you don’t know how to use it, learn it! Why is that? Because it complements Java. With Groovy, you can do a lot more with Java projects than just stick to simple Java.

6. Spock

Spock is a testing and specification framework for Java and Groovy applications. What makes it stand out from the crowd is its beautiful and expressive normative language. Thanks to its JUnit running program, Spock is compatible with most ides, build tools, and continuous integration servers.

7. Maven

If you’re an experienced Java developer, you probably already know about Maven, but if you’re a new developer with 1-2 years of experience, it’s a great tool to learn about. Apache Maven is a build and project management tool. Based on the concept of the Project Object Model (POM), Maven can be used to manage project builds, reports, and documentation from central information. Another useful feature of Maven is dependency management. Because we use many third-party libraries in our Java project, manually managing each JAR file and its dependencies can be cumbersome. Maven solves this problem by automatically downloading _JAR for you.

8.Gradle

Gradle is another open source build automation system that takes the best of Apache Ant and Apache Maven and takes it to the next level. It is also the default build tool for Android. It introduces a Groovy-based domain-specific language (DSL) rather than the XML Apache Maven uses to declare project configurations, making it easier to configure project dependencies and customize them to your needs. Why choose Gradle over Ant or Maven? Well, because it combines the best features of other build tools with the flexibility and control of Ant, Ivy’s dependency management, configuration conventions and Maven plug-ins, and most importantly, it uses Groovy DSL on top of Ant. This makes it the best build tool for Java.

JIRAAtlassian’s JIRA is one of the most important tools in agile development today. It is used for error tracking, problem tracking, and project management. If you follow agile development methods, such as Sprint and Scrum, you must understand JIRA. It allows you to create Spring cycles and track the progress of software development. If you aspire to become a Scrum Master, I strongly recommend that you Learn JIRA and Learn JIRA through practical examples. It not only teaches the basic and advanced features of JIRA, but also gives you a good introduction to Confluence.

10. Java architects learn public accounts

Author of the JVM In Depth series and Spring Boot from 0-1. Be a technology sharer who can help programmers grow together!

You’re so good, shouldn’t you be paying attention?

Past wonderful articles

Mybatis collection:

SqlSessionFactory (a)

Mybatis source code analysis of SqlSession and Excutor

Mybatis source code analysis M_app_er execute SQL process (3)

Mybatis source code analysis of Cache level Cache principle (four)

Mybatis source code analysis of the Cache level Cache principle (five)

Mybatis_redis Level 2 Cache (6)

Spring source code analysis:

Spring IOC container source code analysis (a)

Spring IOC container source code analysis (2)

Spring IOC container source code analysis (3)

Spring AOP source analysis:

Introduction to the use of Spring AOP, from the past to this life

Spring AOP source code parsing

NIO source code:

Java NIO: Buffer, Channel, and Selector

Java non-blocking IO and asynchronous IO

NIO source code analysis in Tomcat

Netty source code analysis:

Netty source code parsing (a)

Being updated ~~~