Java开发人员通常尝试找到快速有效地编写高质量Java代码的方法,以使他们的编程工作更轻松。 由于情况发生了变化,因此出现了越来越多的工具。 因此,下面列出了大多数开发人员已经使用,将来使用或一定会使用的有用工具。 该列表包括集成开发环境,集成工具,测试和质量工具,甚至更多。

集成开发环境

Eclipse是大多数开发人员使用的最著名的Java集成开发环境(IDE)。 它允许开发人员将语言支持和其他功能组合到其任何默认软件包中,并且Eclipse Marketplace允许几乎无限的自定义和扩展。

IntelliJ引起了开发人员的兴趣,因为最近它比Eclipse更受青睐。 它提供免费和专有的商业版本。 IntelliJ为许多Java EE框架提供了出色的特定于框架的编码帮助和提高生产力的功能,以及用于大多数应用程序服务器的部署工具。

NetBeans也属于IDE类别,可以快速轻松地开发桌面,移动和Web应用程序。 它是免费的开放源代码,并拥有一个由用户和开发人员组成的全球社区。

Jdeveloper是Oracle提供的免费集成开发环境。 它提供对Oracle Fusion Middleware和Oracle Fusion Applications的完整的端到端开发,并支持整个开发生命周期。

测试中

Junit是一个简单的开源框架,用于编写和运行可重复的测试。 它提供了用于测试预期结果的断言,用于共享通用测试数据的测试装置以及用于运行测试的测试运行程序。 您可以在此处查看我们的最终教程。

TestNg的灵感来自JUnit,但包含一些使其变得更强大且更易于使用的新功能,例如注释,灵活的测试配置,数据驱动的测试和参数支持,强大的执行模型。 它涵盖了单元,功能,端到端,集成测试,并受各种工具和插件(Eclipse,IDEA,Maven等)的支持。 分别使用Maven Failsafe和TestNG来查看有关运行单元测试和集成测试的文章。

Mockito是一个模拟框架,允许您使用简洁的API编写漂亮的测试。 测试具有很高的可读性,并且会产生明确的验证错误。 使用Mockito,您会询问执行后的交互问题。 模拟是透明的,使开发人员可以专注于测试选定的行为,而不是吸引注意力。 在此处查看有关Mockito的文章。

Arquillian是Java和JVM的测试平台,主要侧重于集成和功能测试。 它从单元测试停止的地方开始,重点关注真实运行时环境中应用程序代码的交互。 Arquillian为测试配备了容器生命周期管理和丰富的测试用例。

积分

Apache Maven是一个非常著名的软件项目管理和理解工具。 基于项目对象模型(POM)的概念,它从中央信息管理项目的构建,报告和文档。 Maven提供统一的构建系统,高质量的项目信息,最佳实践开发指南,并允许透明迁移到新功能。

Gradle是一个开源的构建自动化系统。 Gradle可以使软件包或其他类型的项目(例如生成的静态网站)的构建,测试,发布,部署以及更多自动化。 Gradle将Ant的强大功能和灵活性与Maven的依赖管理和约定结合在一起,成为一种更有效的构建方式。

Apache Ant是一个开放源代码的Apache项目,根据Apache软件许可发布。 它由内置任务组成,允许开发人员编译,组装,测试和运行Java应用程序。 它非常灵活,并且对Java项目的编码约定或目录布局没有限制。

Apache Ivy是流行的依赖项管理器,专注于灵活性和简单性。 它是Apache Ant项目的一个子项目,Ivy致力于解决项目依赖项。 外部XML文件定义项目依赖关系,并列出构建项目所需的资源。 然后,Ivy从工件库中解析并下载资源。 它提供了灵活性和可配置性。 Apache Ivy与Apache Ant集成在一起,从而为那些已经使用Apache Ant并不想迁移到Apache Maven的用户带来Apache Maven的依赖管理优势到Apache Ant构建文件中。

应用服务器

Apache Tomcat是由Apache Software Foundation(ASF)开发的开源Web服务器和servlet容器。 它实现了多个Java EE规范,包括Java Servlet,JavaServer Pages(JSP),Java EL和WebSocket,并提供了Java代码可在其中运行的HTTP Web服务器环境。( 在此处查看更多信息 。)

Wildfly是以前已知的JBoss AS ,或简称为Jboss 。 它是由JBoss编写的应用服务器,现在由Red Hat开发。 它用Java编写,并实现了Java平台企业版(Java EE)规范。 Wildfly可在多个平台上运行,它是免费的开放源代码。

Glassfish是Sun Microsystems针对Java EE平台启动的一个开源应用服务器项目,现在由Oracle Corporation赞助。 支持的版本称为Oracle GlassFish Server。 GlassFish是一种免费软件,具有两个免费软件许可证双重许可:通用开发和发行许可证(CDDL)和GNU通用公共许可证(GPL)(带有类路径例外)。

Oracle WebLogic Server是Oracle Corporation当前开发的Java EE应用程序服务器,用于构建和部署企业Java EE应用程序,并支持新功能,这些功能可降低运营成本,提高性能,增强可伸缩性并支持Oracle Applications产品组合。

Web应用程序测试

Apache JMeter是Apache的开源项目,实际上是一个Java应用程序,旨在加载测试功能行为并衡量性能。 它最初是为测试Web应用程序而设计的,但此后已扩展到其他测试功能。 它可以测试静态和动态资源上的性能,还可以模拟一台或多台服务器上的繁重负载,以测试其强度或分析不同负载类型下的整体性能。 您可以在此处查看有关JMeter的更多信息。

SoapUI是一个免费的开源跨平台功能测试解决方案。 它提供了图形界面和企业级功能,并允许您创建和执行自动化功能,回归,合规性和负载测试。 SoapUI在一个测试环境中提供了完整的测试范围,并支持所有标准协议和技术。

质量分析

SonarQube是一个开放源代码平台,已成为代码质量管理系统的世界领导者,并且以其对代码质量的持续检查而闻名。 除Java外,它还支持大多数语言,可以用作Android开发的一部分,并且可以与大多数持续集成工具集成。 它生成有关重复代码,编码标准,单元测试,代码覆盖率,复杂代码,潜在错误,注释以及设计和体系结构的报告。

FindBugs也是开源的,并根据Lesser GNU Public许可的条款进行分发。 它对Java字节码而不是源代码进行操作。 它可以识别并确定潜在错误的严重性,例如空指针取消引用,无限递归循环,对Java库的错误使用和死锁。 它可以作为Eclipse,NetBeans和IntelliJ IDEA的插件使用。 查看我们的Findbugs Eclipse示例 。

PMD是源代码分析器。 它可以检测常见的编程缺陷,例如未使用的变量,空的catch块,不必要的对象创建等。 除了Java之外,它还支持大多数语言,并包括CPD(复制粘贴检测器)。

Checkstyle是一种开发工具,可帮助程序员编写符合编码标准的Java代码。 它使检查Java代码的过程自动化。 它是高度可配置的,并且可以使其支持几乎所有编码标准。

版本和修订

Apache Subversion是我们所有人已知的SVN工具。 它是在开源许可证下分发的软件版本控制和版本控制系统。 现在,它是作为Apache Software Foundation的一个项目开发的,因此,它是一个由丰富的开发人员和用户组成的社区的一部分。

Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理一切。 Git超越了其他SCM工具,提供了诸如廉价的本地分支,便捷的暂存区以及多个工作流之类的功能。 每个Git工作目录都是功能完善的存储库,具有完整的历史记录和完整的版本跟踪功能,而与网络访问或中央服务器无关。 在此处查看有关Git的文章供初学者使用。

持续集成

Jenkins是一款屡获殊荣的应用程序,它可以监视重复作业的执行,从软件项目到cron所执行的作业。 它的基本功能是连续构建和测试软件项目,使开发人员更容易将更改集成到项目中,并使用户更容易获得全新版本。 Jenkins还提供监视外部运行的作业(例如cron作业)的执行,甚至监视在远程计算机上运行的那些作业的执行。

Apache的Continuum是一种企业就绪的持续集成服务器,具有自动构建,发布管理,基于角色的安全性以及与流行的构建工具和源代码管理系统的集成等功能。

Hudson是用Java编写的持续集成(CI)工具,可在应用程序服务器中运行。 它支持诸如Subversion,Git之类的SCM工具,并且可以执行基于Apache Ant和Apache Maven的项目,以及任意的shell脚本和Windows批处理命令。 它监视重复作业的执行,例如构建软件项目或cron运行的作业。

Java Profiler

YourKit Java Profiler是技术领先者,是用于分析Java应用程序的最具创新性和智能性的工具的创建者。 您可以将YourKit解决方案用于CPU和内存性能分析,并且可以以最高的生产率和零开销来分析大型应用程序。 有许多最新的概要分析创新已在大型和小型公司的专业Java开发人员中赢得了应有的欢迎。

JProfiler是一种商业许可的Java性能分析工具,对于分析性能瓶颈,内存泄漏,CPU负载和解决线程问题非常有用。 它支持在同一台计算机或远程计算机上进行概要分析。 用户可以通过活动字节和总字节,实例,线程,类和垃圾收集器活动的直观表示实时查看。 它既可以作为独立应用程序使用,也可以作为Eclipse软件开发环境的插件使用。

代码覆盖率工具

JaCoco是用于测量和报告Java代码覆盖率的开源工具包。 它根据Eclipse Public License的条款进行分发,并且是当前唯一可与Java 8一起使用的字节码覆盖工具。

Clover是一种商业代码覆盖率工具,可提供所需的指标,以更好地平衡编写有填充作用的代码与测试有填充作用的代码之间的工作量。 它可以在您的IDE或持续集成系统中运行,它包括测试优化以使您的测试运行更快,并且失败更快。

错误追踪

JIRA是团队规划和打造出色产品的跟踪器。 成千上万的团队选择JIRA来捕获和组织问题,分配工作并关注团队活动。 它不是免费的,但是提供了7天的免费试用期。

Trac是用于软件开发项目的增强的Wiki和问题跟踪系统。 它使用基于Web的软件项目管理的简约方法。 它可以帮助开发人员编写出色的软件,并提供Subversion和Git(或其他版本控制系统)的界面,集成的Wiki和便利的报告功能。 Trac允许在问题描述和提交消息中使用Wiki标记,在错误,任务,变更集,文件和Wiki页面之间创建链接和无缝引用。

文档生成器

Javadoc是Oracle Corporation的文档生成器,用于从Java源代码生成HTML格式的API文档。 IDE会自动生成Javadoc HTML。 许多文件编辑器可帮助用户生成Javadoc源,并将Javadoc信息用作程序员的内部引用。 Javadoc还提供了用于创建doclet和taglet的API,使您能够分析Java应用程序的结构。

文献! X是自动Java文档工具和完整文档创作环境的组合,可用于为Java项目创建准确,专业的质量文档。 它自动将生成的文档与流行的Java IDE集成在一起。 它提供了为库,名称空间,类,接口,构造函数,方法,属性,字段生成的文档页面。

因此,这是每个Java开发人员都可以检出的工具的基本列表。 随意尝试!

您还有其他工具可以建议吗? 请在下面的评论中告诉我们!

翻译自: https://www.javacodegeeks.com/2015/02/java-development-tools-programming-boost.html