Several series of auxiliary development tools that Java programmers must know

Source: Internet
Author: User
Tags coding standards glassfish jboss apache tomcat soapui continuous integration tools testng netbeans

Integrated development Environment

Eclipse is the most famous and widely used Java integrated development environment (IDE) that allows developers to combine language support and other features into any of the default packages, and the eclipse market has many custom and extended plugins.

IntelliJ has been "sought after" by developers, even more favored than eclipse, with free and Pro editions. IntelliJ provides coding assistance and productivity enhancements to the framework for many Java EE frameworks, as well as deployment tools for most application servers.

NetBeans also belongs to the IDE class, allowing developers to quickly and easily develop desktop, mobile, and Web applications. NetBeans is free and open source, and has a global user and developer community.

JDeveloper is a free, integrated development environment provided by Oracle that provides complete end-to-end development for Oracle converged middleware and converged application products, supporting the entire development lifecycle.

Test

JUnit is a unit test framework for the Java language that is used to write and run repeatable tests. It provides assertions for testing expected results, provides test fixtures for shared common test data, and test runners to run tests. You can take a look at the free tutorials on the website of Qian Feng education .

TestNG was developed by JUnit, but also has some new features, so the testng is more powerful and easier to use, such as annotations (annotations), flexible test configurations, data-driven testing and parameter support, and a powerful execution model. It covers unit testing, functionality, end-to-end, integration testing, and supports a variety of tools and plugins (Eclipse, Idea, MAVEN, etc.). Refer to the article on unit testing and integration testing using Maven failsafe and testng, respectively.

Mockito is a mocking framework that helps developers write beautiful tests with simple APIs. Its tests are readable and can produce clear validation errors. You can also use Mockito to inquire about interactions after they are executed. The mocks is transparent, so developers can focus on testing the selected behavior. More details can be found in Mockito's related articles.

Arquillian is a test platform for Java and the JVM, focusing primarily on integration and functional testing. It removes unit tests and focuses on the interaction of program code in real-time environments. Arquillian is equipped with container lifecycle management and typical Test selection for testing.

Integration

Apache maven is a very well-known software project management and synthesis tool. Based on the concept of the Project object Model (POM), its information center manages the construction, reporting, and documentation of the project. MAVEN provides a unified build system, project information, and best-practice guidance for development, and enables transparent migration of new features.

Gradle is an open source automated building system. Gradle can be automatically built, tested, published, deployed, as well as a variety of packages or other types of projects, such as generating static Web sites. Gradle combines ant's capabilities and flexibility, as well as Maven's dependency management and conventions, to create an efficient way to build.

Apache Ant is an open-source Apache project that is released via Apache software licensing. It is made up 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 the project dependencies and lists the required resources for building the project. Ivy then downloads resources from the Artifact Repository (artifact repository), which is flexible and configurable. Apache Ivy is integrated with Apache Apache ant, so the dependency management benefits of Apache Maven are also brought to Apache ant build files for those who already use Apache Ant and do not want to migrate to Apache The developer of MAVEN provides the convenience.

Application Server

Apache Tomcat is 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, and provides an HTTP Web server environment that can run Java code. To learn more please click here.

WildFly, formerly known as JBoss as or JBoss, is an application server developed by JBoss and is now being 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 open source tool that can be run on multiple platforms.

GlassFish was started by Sun Microsystems's Java EE platform and is now an open-source application server project sponsored by Oracle Corporation. Supported versions are called Oracle GlassFish application servers. GlassFish is free software, approved by two free software licenses: General development and Release license (CDDL) and GNU General Public License (GPL).

Oracle WebLogic Server is a Java EE application Server, currently developed by Oracle to build and deploy enterprise applications Java EE, supporting new features that reduce operational costs, improve performance, enhance scalability, and support Oracle application portfolio.

Web Application Testing

Apache JMeter is an open-source Apache project that 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 test 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. You can view more details about the JMeter.

Soapui is a free, open-source, cross-platform functional testing solution. It provides a graphical interface and enterprise-class capabilities that allow the creation and execution of automated functions, regression, compliance, and load testing. SOAPUI provides complete test coverage in a test environment and supports all standard protocols and technologies.

Quality analysis

Sonarqube is an open-source platform that has become a world leader in code quality management systems and is known for its continuous inspection of code qualities. In addition to Java, it supports most languages and can be used as an Android developer, integrating most of the continuous integration tools. Sonarqube generates reports for repetitive code, coding standards, unit tests, code overrides, complex code, potential errors, annotations, designs, and schemas.

FindBugs is also an open Source tool, released under the Lesser GNU Public License license. It runs on Java bytecode instead of source code, and can identify and determine the severity of potential errors, such as null pointer references, infinite recursive loops, Java libraries, and incorrect use of deadlocks. At the same time, it can be used as a plugin for Eclipse, Netbeans,intellij idea. You can refer to the FindBugs Eclipse instance.

PMD is a source code parser. It can detect common programming errors such as unused variables, empty catch blocks, unnecessary object creation, and so on. It supports the CPD, copy-paste probe, in addition to most languages including Java.

Checkstyle is a development tool that can help programmers adhere to coding standards to write Java code, will automatically start Java code inspection. It is highly configurable and can support almost any coding standard.

Version control

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

Git is a free, open source distributed version control system that improves the speed and efficiency of large and small transactions. Compared to other configuration management tools, Git is characterised by providing inexpensive local branching, convenient staging area, and multiple workflows. Each git working directory is a full repository with full history and full versions of tracking capabilities, independent network access or a central server. You can view more git articles.

Continuous integration

Jenkins is an award-winning application that monitors repetitive work, from building a software project to running a cron job. Its basic function is to constantly build and test software projects, making it easier for developers to integrate changes into projects, making it easier for users to get new builds. Jenkins can also monitor the execution of external running tasks, such as cron jobs, even if it is running on a remote computer.

Apache Continuum is an enterprise-class continuous Integration Server. Features include automated build, 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 a variety of SCM tools, such as subversion, Git, and can execute Apache Ant and Apache Maven projects, as well as any shell scripts and Windows batch commands. It monitors the execution of repetitive tasks, such as establishing a software project or a job run by Cron.

Several series of auxiliary development tools that Java programmers must know

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.