List of Java frameworks explained

Below is a list of notable Java programming language technologies (frameworks, libraries).

Name Details
Apache NutchNutch is a well matured, production ready Web crawler.
AppFuseopen-source Java EE web application framework.
DroolsBusiness rule management system (BRMS) with a forward and backward chaining inference based rules engine, using an enhanced implementation of the Rete algorithm.
jBPMFlexible Business Process Management (BPM) Suite
ActivitiWorkflow engine written in Java that can execute business processes described in BPMN 2.0.
AkkaToolkit and runtime simplifying the construction of concurrent and distributed applications on the JVM.
Apache AccumuloDistributed key/value store that provides robust, scalable data storage and retrieval.
Apache ActiveMQMessaging and Integration Patterns server.
Apache AvroRemote procedure call and data serialization framework developed within Apache's Hadoop project.
Apache AxisImplementation of the SOAP (Simple Object Access Protocol) submission to W3C
Apache CamelRule-based routing and mediation engine that provides a Java object-based implementation of the Enterprise Integration Patterns using an API to configure routing and mediation rules.
Apache ClickComponent oriented web application framework for the Java language and is built on top of the Java Servlet API
Apache CocoonWeb application framework built around the concepts of pipeline, separation of concerns and component-based web development.
Apache CommonsCollection of open source reusable Java components from the Apache/Jakarta community
Apache CXFServices framework. CXF helps to build and develop services using frontend programming APIs, like JAX-WS and JAX-RS.
Apache Empire DBRelational database abstraction layer and data persistence component that allows developers to take a much more SQL-centric approach in application development than traditional Object-relational mapping frameworks.
Apache FelixApache Felix is a community effort to implement the OSGi Framework and Service platform and other interesting OSGi-related technologies under the Apache license.
Apache FlumeDistributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
Apache GeronimoOpen source server runtime that integrates the best open source projects to create Java/OSGi server runtimes that meet the needs of enterprise developers and system administrators
Apache GiraphIterative graph processing system built for high scalability.
Apache HadoopFramework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.
Apache HBaseNon-relational, distributed database modeled after Google's BigTable
Apache HiveComponent of Hortonworks Data Platform(HDP). Hive provides a SQL-like interface to data stored in HDP.
Apache JackRabbitContent repository for the Java platform.
Apache JenaWeb framework for building Semantic web apps in Java. It provides an API to extract data from and write to RDF graphs
Apache KafkaStream processing platform
Apache Log4jJava logging framework - Log4j 2 is the enhanced version of the popular Log4j project.
Apache LuceneHigh-performance, full-featured text search engine library.
Apache MahoutProject of the Apache Software Foundation to produce free implementations of distributed or otherwise scalable machine learning algorithms focused primarily in the areas of collaborative filtering, clustering and classification.
Apache MesosApache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.
Apache MinaJava network application framework. MINA can be used to create scalable, high performance network applications.
Apache OODTData management system framework
Apache OozieServer-based workflow scheduling system to manage Hadoop jobs.
Apache OpenNLPJava machine learning toolkit for natural language processing (NLP).
Apache PDFBoxJava tool for working with PDF documents.
Apache PigHigh-level platform for creating programs that run on Apache Hadoop.
Apache PivotPlatform for building rich web applications in Java or any JVM-compatible language.
Apache POIAPIs for manipulating various file formats based upon Microsoft's OLE 2 Compound Document format.
Apache QpidMessaging system, implements the Advanced Message Queuing Protocol.
Apache River (Jini)Apache River is a project furthering the development and advancement of Jini technology. River is the implementation of Jini service oriented architecture.
Apache SamzaDistributed stream processing framework.
Apache ShiroJava security framework that performs authentication, authorization, cryptography, and session management.
Apache SlingWeb framework for the Java platform designed to create content-centric applications on top of a JSR-170-compliant (a.k.a. JCR) content repository such as Apache Jackrabbit.
Apache SolrEnterprise search platform
Apache SparkFast and general engine for big data processing, with built-in modules for streaming, SQL, machine learning and graph processing.
Apache StormDistributed realtime computation system.
Apache StrutsFramework for building Servlet/JSP based web applications based on the MVC design paradigm
Apache TapestryComponent-oriented Java web application framework
Apache TikaContent detection and analysis framework.
Apache TomcatTomcat Server, is an open-source Java Servlet Container
Apache UimaUnstructured Information Management Architecture, is an OASIS standard for content analytics. It provides a component software architecture for the development, discovery, composition, and deployment of multi-modal analytics for the analysis of unstructured information and integration with search technologies.
Apache VelocityJava-based template engine that provides a template language to reference objects defined in Java code
Apache WicketComponent-oriented Java web application framework.
Apache XercesCollection of software libraries for parsing, validating, serializing and manipulating XML.
Apache ZookeeperCentralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
BarracudaMVC web application framework for developing Java EE web applications.
BirtReporting and business intelligence tool for rich client and web applications
BioJavaJava framework for processing biological data.
BlueCoveJava library for Bluetooth (JSR-82 implementation)
Bouncy Castle CryptographicCollection of APIs used in cryptography. It includes APIs for both the Java and the C# programming languages.
Burningwave CoreJava library to build frameworks.
CascadingAbstraction layer for Apache Hadoop and Apache Flink. Cascading is used to create and execute complex data processing workflows on a Hadoop cluster using any JVM-based language.
CodeName OneSet of software development tools aiming to provide ›Write Once, Run Anywhere‹ code for various desktop and mobile operating systems (like Windows, macOS, Android, Blackberry, iOS and others).
Deeplearning4jOpen-Source Deep-Learning Software for Java and Scala on Hadoop and Spark.
Direct Web Remotinglibrary that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible.
EclipseLinkJava persistence solution addressing relational, XML, and database web services.
EHCacheEhcache is an open source, standards-based cache that boosts performance, offloads your database, and simplifies scalability.
Ejml (Efficient Java Matrix Library)Java linear algebra library for manipulating dense matrices.
ElasticsearchMultitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.
FreeMarker TemplateJava-based Template Engine, originally focusing on dynamic web page generation with MVC software architecture
GeoApiSet of Java language programming interfaces for geospatial applications.
GeoToolsJava library that provides tools for geospatial data.
GlassFishApplication server and official reference implementation for Servlets 3.0.
Google GsonLibrary to serialize and deserialize Java objects to (and from) JSON.
Google GuavaSet of common libraries, it facilitates best coding practices and helps reduce coding errors. It provides utility methods for collections, caching, primitives support, concurrency, common annotations, string processing, I/O, and validations.
Google GuiceLightweight dependency injection framework for Java 6 and above
Google Web Toolkit (GWT)Set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java.
HibernateObject-relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database.
HSQLDBRDBMS with JDBC interface, client-server version, query tool, grid, tree, performance test class, servlet, and self-test program.
iBatisPersistence framework which automates the mapping between SQL databases and objects in Java, .NET, and Ruby on Rails.
InfinispanDistributed in-memory key/value data store with optional schema
ITextDynamic PDF generation and manipulation for web- and other applications (Java, C#).
JacksonHigh-performance JSON processor for Java.
Java Astrodynamics ToolkitLibraries of components to assist software makers create their own applications to solve problems in Astrodynamics, mission design, spacecraft navigation, guidance and control
Java Collections FrameworkThe Java Collections Framework (JCF) is a set of classes and interfaces that implement commonly reusable collection data structures.
Java Media FrameworkThe Java Media Framework (JMF) is a Java library that enables audio, video and other time-based media to be added to Java applications and applets.
Java Topology suiteJava Topology Suite (JTS) is an open-source Java software library that provides an object model for Euclidean planar linear geometry together with a set of fundamental geometric functions.
JaxPJava XML Application programming interfaces (API)s, provides the capability of validating and parsing XML documents.
JBoss SeamWeb application framework developed by JBoss
JDomJava-based document object model for XML
JerseyJersey RESTful Web Services framework, implementation of JAX-RS
JettyJava HTTP (Web) server and Java Servlet container.
JFreeChartJava chart library
JHipsterJHipster is a development platform to generate, develop and deploy Spring Boot + Angular Web applications and Spring microservices.
JMonkeyEngineGame engine made especially for modern 3D development, as it uses shader technology extensively.
JProfilerJava profiling tool for performance Tuning
JRockitJava profiling tool for performance Tuning
JSFJava specification for building component-based user interfaces for web applications.
JSoupJava HTML parser library. Supports extracting and manipulating data using DOM, CSS, and JQuery methods.
JUnitUnit testing framework
KeycloakSingle sign-on and identity and access management framework.
LiquiBaseLiquibase is an open source database-independent library for tracking, managing and applying database schema changes.
LWJGLJava library that enables cross-platform access to popular native APIs such as OpenGL, OpenAL, and OpenCL.
MicronautA modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications
MockitoUnit testing framework for Java, framework allows the creation of test double objects (mock objects) in automated unit tests for the purpose of Test-driven Development (TDD) or Behavior Driven Development (BDD).
MyBatisFirst class persistence framework with support for custom SQL, stored procedures and advanced mappings.
NettyNetty is a non-blocking I/O (NIO) client-server framework for the development of Java network applications such as protocol servers and clients.
NeurophJava neural network framework which supports common neural network architectures and learning rules.
OpenCVLibrary of programming functions mainly aimed at real-time computer vision.
Oracle WebLogicJava EE application server
OrientDBNoSQL database management system written in Java. It is a multi-model database, supporting graph, document, key/value, and object models but the relationships are managed as in graph databases with direct connections between records.
ORMLiteObject Relational Mapping Lite (ORM Lite) provides some functionality for persisting Java objects to SQL databases while avoiding the complexity and overhead of more standard ORM packages.
Payara ServerJava EE/Jakarta EE Application Server and MicroProfile implementation.
PlayPlay Framework is used to build web applications with Java & Scala.
PrimeFacesUser interface (UI) component library for JavaServer Faces (JSF) based applications.
QuarkusSUPERSONIC / SUBATOMIC / JAVA
QuartzJob scheduling library that can be integrated into a wide variety of Java applications.
SaxEvent-driven online algorithm for parsing XML documents, with an API developed by the XML-DEV mailing list.
SeleniumLibrary that provides automated control for web-browser, widely used in web applications testing
SLF4JSimple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks.
SonarQubePlatform for continuous inspection of code quality.
Jasper ReportsJava reporting tool that can write to a variety of targets, such as: screen, a printer, into PDF, HTML, Microsoft Excel, RTF, ODT, Comma-separated values or XML files.
SpockTesting and specification framework for Java and Groovy applications.
Spring IntegrationFramework for enterprise application integration.
Spring RooSpring Roo is an open source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise software
Spring SecurityAuthentication and access-control framework
TestNGJUnit-inspired test framework with extra functionality.
ThymeleafJava XML/XHTML/HTML5 template engine that can work both in web (Servlet-based) and non-web environments
VaadinWeb framework for rich Internet applications. In contrast to JavaScript libraries and browser-plugin based solutions
VertxPolyglot event-driven application framework that runs on the Java Virtual Machine.
WildflyApplication server framework that implements the Jakarta EE (formerly Java EE) specification.
ZKossAjax Web application framework, written in Java