Collection of Java programming tools

Java developers often figure out how to write Java code faster and make programming easier. At present, more and more efficient programming tools are emerging on the market. So, here is a summary of a list of tools that most developers have used, are using, or will use in the future. This list includes IDEs, integration tools, testing and quality tools, and more. 

1. Integrated Development Environment  

Eclipse is the most famous and widely used Java Integrated Development Environment (IDE), allowing developers to combine language support and other features into any default package, and the Eclipse market has many custom and extended plug-ins. 
IntelliJ has attracted developers' "sought after", even more favored than Eclipse , with free and professional versions. [IntelliJ]( http://www.javacodegeeks.com/tutorials/java-tutorials/core-java-tutorials/#IntelliJ  IDEA) provides framework-specific coding assistance and productivity-enhancing functions for many Java EE frameworks, and also There are deployment tools for most application servers. 

NetBeans also belongs to the IDE category, allowing developers to quickly and easily develop desktop applications, mobile applications and web applications. NetBeans is free and open source and has a global community of users and developers. 

JDeveloper is a free integrated development environment provided by Oracle, which provides complete end-to-end development for Oracle Fusion Middleware and Fusion application products, supporting the entire development life cycle. 

2. Test  

JUnitis a unit testing framework for the Java language for writing and running repeatable tests. It provides assertions for test expected results, test fixtures for shared common test data, and test runners for running tests. Take a look at the JUnit tutorial here . 

TestNG is inspired by JUnit, but also has some new features, so relatively speaking, TestNG is more powerful and easier to use, such as annotations (annotations), flexible test configuration, data-driven testing and parameter support , and a powerful execution model. It covers unit testing, functional, end-to-end, integration testing and supports various tools and plugins (Eclipse, IDEA, Maven, etc.). For specific content, please refer to the articles on unit testing and integration testing using Maven Failsafe and TestNG respectively

Mockito is a mocking framework that helps developers write beautiful tests with clean APIs. Its tests are very readable and produce clear validation errors. Using Mockito it is also possible to interrogate interactions after execution. Mocks are transparent, so developers can focus on testing selected behaviors. For more details, please refer to the related articles of  mockito .

Arquillian is a testing platform for Java and JVM with a primary focus on integration and functional testing. It removes unit testing and focuses on the interaction of program code in a true real-time environment. Arquillian equips tests with container lifecycle management and typical test curation. 

3. Integration 

[urlhttp://maven.apache.org/=""]Apache Maven[/url] is a very famous software project management and comprehensive tool. Based on the concept of the Project Object Model (POM), its information center manages project builds, reports, and documentation. Maven provides a unified build system, project information, and guidance on best development practices, and supports transparent migration of new features. 

Gradle is an open source automated build system. Gradle can automatically build, test, publish, deploy, as well as a variety of packages or other types of projects, such as generating static websites. Gradle combines the power and flexibility of Ant with the dependency management and conventions of Maven for an efficient way to build. 

Apache Ant is an open source Apache project released under the Apache Software License. It consists of a variety of built-in tasks that allow developers to write, assemble, test and run java applications. It is characterized by a high degree of flexibility and does not strictly limit the coding conventions or directory layout of Java projects. 

Apache Ivy is a popular dependency management tool that focuses on flexibility and simplicity. It is a subproject of the Apache Ant project, and Ivy is used to resolve project dependencies. The external XML file defines project dependencies and lists the resources needed to build the project. Ivy then downloads assets from the artifact repository, which is flexible and configurable. Apache Ivy is integrated with Apache Apache Ant, so will bring the dependency management benefits of Apache Maven to Apache Ant build files as well, making it easier for developers who already use Apache Ant and don't want to migrate to Apache Maven. 

4. Application server  

Apache Tomcatis an open source web server and servlet container developed by the Apache Software Foundation (ASF). It implements several Java EE specifications, including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket, providing an HTTP web server environment that can run Java code. To learn more, please [urlhttp://www.javacodegeeks.com/tutorials/java-tutorials/enterprise-java-tutorials/#Tomcat=""]click[/url]. 

[urlhttp://wildfly.org/=""]WildFly[/url], whose predecessor is [urlhttp://jbossas.jboss.org/=""]JBoss AS[/url] or Jboss , is a Developed application server, now developed and maintained by Red Hat. It is written in Java and implements the Java Platform and Enterprise Edition (Java EE) specification. WildFly is a free and open source tool that can run on multiple platforms. 

GlassFish is an open source application server project sponsored by Sun Microsystems' Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Application Server. GlassFish is free software approved under two free software licenses: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL). 

Oracle WebLogic Server is a Java EE application server currently developed by Oracle Corporation for building and deploying Java EE enterprise applications, supporting new features such as lower operating costs, improved performance, enhanced scalability, and support for the Oracle Application Portfolio. 

5. Web application testing  

Apache JMeter is an open source Apache project, which is actually a Java application designed for load function testing and performance testing. It was originally designed for web applications, but has now been extended to other testing functions. It can test static and dynamic resource performance, simulate one or more server loads to test its strength or analyze overall performance under different load types. More details about Jmeter can be found here

SoapUI is a free and open source cross-platform functional testing solution. It provides a graphical interface and enterprise-grade features that allow the creation and execution of automated functional, regression, compliance, and load tests. SoapUI provides complete test coverage in one test environment and supports all standard protocols and technologies. 

6. Quality Analysis  

SonarQube is an open source platform that has become the world leader in code quality management systems and is known for its continuous code quality checks. It supports most languages ​​besides Java, and can be used for Android development, and it integrates with most continuous integration tools. SonarQube generates reports for duplicate code, coding standards, unit tests, code coverage, complex code, potential bugs, comments, design and architecture. 

FindBugs is also an open source tool, released under the Lesser GNU Public license. It runs on Java bytecode rather than source code and can identify and determine the severity of potential bugs such as null pointer references, infinite recursive loops, misuse of Java libraries and deadlocks. At the same time, it can also be used as a plug-in for Eclipse, NetBeans, IntelliJ IDEA. You can refer to the FindBugs Eclipse example

PMDis a source code analyzer. It detects common programming errors like unused variables, empty catch blocks, unnecessary object creation, and more. It supports most languages ​​besides Java, but also includes CPD, copy-paste detectors. 

Checkstyle is a development tool that helps programmers adhere to coding standards to write Java code, and automatically starts Java code checking. It is highly configurable and can support almost any encoding standard. 

7. Version Control  

Apache Subversion , well known as SVN tool, is a software version and version control system released under an open source license. Currently, it is developed by an Apache Software Foundation project and is part of a global community of developers and users. 

Git is a free and open source distributed version control system that increases the speed and efficiency of transactions large and small. Compared to other configuration management tools, Git features cheap partial branches, convenient staging areas, and multiple workflows. Each Git working directory is a complete repository with full history and full version tracking capabilities, independent network access or a central server. See more Git articles

8. Continuous Integration  

Jenkins is an award-winning application capable of monitoring repetitive jobs, from building a software project to jobs run by cron. Its basic function is to continuously build and test software projects, making it easier for developers to integrate changes into projects and easier for users to get new builds. Jenkins can also monitor the execution of externally running tasks, such as cron jobs, even those running on remote machines. 

Apache ContinuumIs an enterprise-grade continuous integration server. Features provided include: automated builds, release management, role-based rights management, and integration with other popular build tools and source code management systems. 

Hudson is a continuous integration (CI) tool written in Java that runs on an application server. It supports various SCM tools such as Subversion, Git, can execute Apache Ant and Apache Maven projects, as well as arbitrary shell scripts and Windows batch commands. It monitors the execution of repetitive tasks such as building a software project or a job run by cron. 

9. Java Application Analysis  YourKit Java Analyzer is a technology leader in

developing the most innovative intelligent tools for analyzing Java applications . You can use YourKit solutions for both CPU and memory profiling, as well as profile large applications with maximum productivity and zero overhead. At the same time, the Java Analyzer has several analytic innovations that have just been proposed that have gained a well-deserved popularity among professional Java developers in large and small businesses. JProfiler is a commercially licensed Java profiling tool that is very effective for analyzing performance bottlenecks, memory leaks, CPU load and resolving threading issues, etc. It supports profiling on the same machine or on a remote machine. Users can see a visual representation of active total bytes, instances, threads, classes, and garbage collector activity. It can be used as a standalone application or as a plug-in for the Eclipse software development environment. 10. Code coverage tool JaCoco is an open source toolkit for measuring and reporting Java code coverage. It is licensed under the Eclipse Public License and is currently the only byte code coverage tool that supports Java 8. Clover



 



is a commercial code coverage tool that provides metrics that allow programmers to better balance programming and testing. It runs under an IDE or your continuous integration system and includes test optimizations that speed up testing. 

11. Bug Tracking  

JIRA is a tracking tool that helps teams plan and build great products. Thousands of teams choose JIRA to capture and organize issues, assign work, and follow up on team activities. It is a paid tool but has a 7-day free trial period. 

Trac is a complete wiki and issue tracking system for software development projects, and manages Web software projects in the most concise way. It also helps developers write great software, provides interfaces to Subversion and Git (or other version control systems), integrates with wikis and handy reporters. Trac allows wikis to tag in issue descriptions and commit messages, and also creates links and seamless citations between bugs, tasks, changes, files and pages. 

12. Documentation generation tool  

Javadoc is a generation tool used by Oracle to generate HTML format API documentation from Java source code. The IDE can automatically generate HTML code. Many file editors help users generate Javadoc source and use Javadoc information as internal reference for programmers. Javadoc also provides APIs for creating doclets and taglets, allowing you to further analyze the structure of Java applications. 

Document! X is a combination of an automated Java documentation tool and a complete documentation environment for creating accurate professional documentation for your Java projects. It automatically integrates the generated documentation into Java IDEs, and also generates documentation pages for libraries, namespaces, classes, interfaces, constructors, methods, properties, and fields. 

The above is a series of tools for Java developers that can improve programming efficiency. Try it out! In the future, mother will no longer have to worry about your "efficient development"! 

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326690127&siteId=291194637