Open Source Software in Java

AspectJ is an aspect-oriented extension for Java that enables modularization of cross-cutting concerns through compile-time, post-compile, and load-time weaving. It is actively maintained under the Eclipse Foundation and publishes core artifacts such as aspectjrt, aspectjweaver, and aspectjtools for use in Maven-based builds.

See all aspect-oriented-frameworks

Apache Roller is a Java-based multi-user and group blog server for sites of any size. It provides Velocity-driven templates, comment moderation, Lucene search, MetaWeblog API support, RSS/Atom feeds, and deployment on Tomcat with MySQL. The project is developed at the Apache Software Foundation.

See all bloggers

Apache Maven is a build tool for Java projects. Using a project object model (POM), it manages compilation, testing, packaging, and documentation. It provides dependency management, a large plugin ecosystem, and integration with the Central Repository.

See all build-systems

RapidMiner is a data analytics and machine learning platform for data preparation, modeling, validation, and deployment. It provides a visual workflow designer, automated ML, and integration with data sources and execution environments. The product is developed by Altair (rapid-i.

See all business-intelligence

Apache Commons BCEL (Byte Code Engineering Library) analyzes, creates, and manipulates Java class files. It represents classes as objects with methods, fields, and bytecode instructions, supports reading and writing . class files, and includes the JustIce bytecode verifier.

See all bytecode-libraries

Open-source Java cache that scales from in-process to mixed in-process/out-of-process deployments; supports JSR-107, offheap storage, and Spring and Hibernate integration.

See all cache-solutions

Java reporting library for page-oriented reports; outputs to screen, printer, PDF, HTML, XLS, CSV, and XML; for J2EE and web applications.

See all charting-and-reporting

Open-source Yahoo Messenger API implementation for Java; fork of jYMSG; build a Yahoo client with minimal setup.

See all chat-servers

Web-based DMS for files, text, URLs and contacts. ACLs, version control, full-text search (PDF, Word, Excel, HTML), tree hierarchy, multi-language; web client, MySQL/PostgreSQL. FDA 21 CFR Part 11 options.

See all content-managment-systems

Suite of tools for analyzing compiled Java code: extracts dependency graphs and OO metrics from class files, computes API differences between versions. No source needed. Includes Swing and CLI interfaces and XSL output.

See all code-analyzers
BeautyJ Retired

Java source code transformation tool: auto-format to a clean, normalized representation and auto-generate Javadoc comments from identifier names. Console interface; Sourclet API for customization.

See all code-beautifiers

Free Java tool that calculates the percentage of code exercised by tests and highlights untested areas. Based on jcoverage; Ant and Maven integration; HTML reports.

See all code-coverage

Extends the JDK with new interfaces and implementations: Bag, Buffer, BidiMap, MapIterator, ordered maps/sets, type-checking and transforming decorators, composite collections, reference map, comparators and iterators, set-theory utilities.

See all collection-libraries

Annotation-based command-line parser: define options with @Option, generate usage and help, produce HTML/XML docs. Full localization; javac-style option syntax.

See all command-line

Library that augments DriverManager-based JDBC drivers with JNDI-bindable DataSources. Implements connection and statement pooling per JDBC 2/3/4; supports configuration via properties, HOCON, or XML and optional Java 21 virtual-thread support.

See all connection-pools

Open-source multi-threaded web crawler for Java. Simple interface; configurable depth, politeness, SSL, proxy, resumable crawling. Maven artifact edu.

See all crawlers

Graph database: embedded, disk-based, transactional Java persistence engine. Data as graphs (nodes and relationships); Cypher query language; community edition open source.

See all database-engines

Lightweight dependency-injection framework for Java. Uses annotations and generics to wire and test objects; supports javax. inject and Jakarta inject.

See all dependency-injection

Java code coverage tool for Eclipse. Adds a Coverage launch mode; results are highlighted in editors and summarized in a view. Based on JaCoCo since 2.

See all eclipse-plugins

Modular EJB container; local and remote servers. Now part of Apache TomEE (Tomcat + OpenEJB); provides EJB 3. x and embedding API.

See all ejb-servers

Community ERP/CRM/MFG/SCM/POS; Java and PostgreSQL. Fork of Compiere; customizable, open source. Community-driven development and documentation.

See all erp-crm

Open source services framework for building SOAP and REST services. JAX-WS, JAX-RS; multiple transports (HTTP, JMS, JBI); WS-* support. Deploy in containers or as standalone; integrates with ESBs such as ServiceMix and Petals.

See all enterprise-service-bus

MVFLEX Expression Language (MVEL) is a hybrid dynamic/statically typed, embeddable expression language and runtime for the Java platform. Supports property binding, scripting, and templating; MVEL3 transpiles expressions to Java and compiles via javac.

See all expression-languages

Cross-platform personal finance application with double-entry accounting, multiple currencies, OFX/QIF import, budgeting, investment accounts, and PDF/spreadsheet export. Uses XML or relational database storage.

See all finance

Java web application forum software (JForum2) with multi-language support, Servlet 3. 1 / Java 8 requirements, and database-backed storage. Includes admin panel and permission system.

See all forum-software

Java library for console input, similar to GNU readline. Line editing, history, completion, syntax highlighting, password masking; cross-platform. Documentation at jline.

See all general-purpose

Java framework for spatial data infrastructures. OGC and ISO/TC 211 standards; WMS reference implementation, WFS, CSW, WPS, WMTS. OSGeo project.

See all geospatial

Collaboration server: appointments, contacts, tasks, email, documents; WebDAV, LDAP, iCal. Web and fat clients (Kontact, Evolution). OX App Suite.

See all groupware

SAX-compliant Java parser for real-world (malformed) HTML; outputs well-formed XML/SAX stream. JAXP integration; command-line tool.

See all html-parsers

Free Java IDE for beginners and teaching. Interactive evaluation; used worldwide; source on GitHub (BlueJ-Greenfoot).

See all ides

Cross-platform wrapper: JARs to Windows . exe. Native splash, icon, JRE search or bundled, heap options, Ant/Maven.

See all installer-generators

Web-based issue tracker with workflow; customizable fields, cross-references, file attachments. Spring-based; embedded DB or external.

See all issue-trackers

Framework for building rich desktop and web applications in Java. Follows an N-tier server-centric architecture enabling applications with desktop-like ergonomics. Supports deployment across multiple frontends without GUI-specific code including Adobe Flex, Qooxdoo, WingS, ULC, and Swing.

See all j2ee-frameworks

JDBC proxy driver providing lightweight, transparent, fault-tolerant clustering capability to any underlying JDBC driver. Enables high availability by allowing database clusters to lose nodes without failing or corrupting transactions. Supports live activation and deactivation for maintenance without service loss.

See all jdbc

Open source multi-protocol Java-based message broker supporting industry standard protocols including AMQP, STOMP, MQTT, and JMS. Provides high availability through shared storage and network of brokers for load distribution. Supports Jakarta Messaging 3.

See all jms
JFoxMX Retired

Open source implementation of JSR-3 Java Management Extension and JSR-160 JMX Remoting API specifications. Provides HTTP-based adapter to view and invoke operations and attributes on MBean Server. Part of the JFox Java and Web Server framework.

See all jmx

Richly featured open source job scheduling library for Java. Integrates with virtually any Java application from stand-alone to large e-commerce systems. Creates simple or complex schedules for executing many jobs; tasks defined as standard Java components.

See all job-schedulers

JSP tag library that compresses static resources (JavaScript, CSS). Caches compressed output in memory or to file; in-memory output can be gzipped. Compression algorithms are pluggable per resource type via strategy pattern.

See all jsp-tag-libraries

Java libraries for Unicode and globalization. Code page conversion, collation (Unicode Collation Algorithm + CLDR), locale-aware formatting (numbers, dates, currency), Unicode normalization, Unicode regex, Bidi, text boundaries. Tracks Unicode and CLDR; extends Java's i18n support.

See all localization

Ultra-thin bridge between different logging implementations. Libraries can use the API without imposing a specific logging library; applications can switch implementations without recompiling. Supports Log4j, JUL, and others.

See all logging
Grendel Retired

Mozilla Java mail/news reader (Xena era). Three-pane GUI; POP3, IMAP, local mbox; MIME parser. Source released; influential threading algorithm (RFC 5256).

See all mail-clients

Pure Java CIFS/SMB client. SMB1/SMB2/SMB3; NTLMSSP, Kerberos; DFS. Actively maintained fork (org.

See all network-clients

DrFTPD is a distributed FTP server in Java with a master and multiple file-transfer slaves. The master handles control and metadata; slaves serve data, enabling merged sites and aggregated bandwidth with standard FTP clients.

See all network-servers

Apache Cassandra is a distributed wide-column database for high availability and linear scalability. It offers a Dynamo-style partitioner and Bigtable-like column families with tunable consistency.

See all nosql

yGuard is a free open-source Java bytecode obfuscator and shrinker. It renames classes and methods and removes dead code; works as an Ant task with Maven/Gradle.

See all obfuscators

JParsec is a parser combinator library for Java. Parsers are built by combining small parsers; supports operators, terminals, and operator precedence.

See all parser-generators

Apache FOP formats XSL-FO (and thus XML via XSLT) to PDF, PS, PCL, AFP, and other targets. Java library; part of Apache XML Graphics.

See all pdf-libraries

Apache Cayenne is a Java ORM with CayenneModeler GUI, DB-first flow, transparent transactions, and optional field-level encryption.

See all persistence

eXo Platform is an open-source digital workplace offering intranet, collaboration, social networking, knowledge management, and portal features. It supports JCR, CMIS, OpenSocial, REST APIs, and standards-based integration (LDAP, SSO). Built with Java and Groovy; supports MySQL, PostgreSQL, Oracle, and other databases.

See all portals

JAMon (Java Application Monitor) is a free, thread-safe API for monitoring production Java applications. Tracks hits, execution times (total, avg, min, max), and concurrency. Modules for SQL, HTTP, Spring, Log4j, EJB; viewable via JAMon WAR, JMX, or API.

See all profilers

BORG is a Java Swing calendar and task-tracking application: month view with print, email and popup reminders, to-do list, and issue tracker with state workflow. Supports HSQL, JDBC, MySQL; runs on Linux, Windows, Mac, BSD. Development moved to GitHub (2020); SourceForge retains files and links.

See all project-management

MindRaider is a personal notebook and outliner that connects outline editing with Semantic Web tech (RDF, URIQA). Organize knowledge and resources; runs on Windows, Linux, Java. Successor: MindForger.

See all rss-rdf-tools

Open-source BRMS that treats Excel tables as executable rules. Business users author and test rules in spreadsheets; deploy as REST APIs with type-safe validation and WebStudio UI.

See all rule-engines

Lightweight, embeddable Java source interpreter with scripting features. Executes Java statements and expressions plus scripted objects and closures; JSR-274 (BeanShell Scripting Language) passed.

See all scripting-languages

High-performance, full-featured text search engine library written in Java. Provides indexing and search, spellchecking, hit highlighting, and advanced analysis. The core of Apache Solr, Elasticsearch, and OpenSearch.

See all search-engines

Application security framework for authentication, authorization, session management, and cryptography. Pluggable data sources, role- and permission-based access, and easy integration with web and enterprise applications.

See all security

Pure Java Subversion client library (product name SVNKit). No native binaries or javahl; full SVN operations on working copies and repositories over HTTP, HTTPS, SVN, and FILE. Used by IntelliJ IDEA, TeamCity, Subclipse.

See all source-control

Universal graphical SQL client for any JDBC database. Browse structure and data, run SQL, extend via plugins. Requires Java 17+ (5.

See all sql-clients

Layout manager for Swing, SWT, and JavaFX. String or API constraints; flowing, grid, absolute, grouped, docking. BSD or GPL.

See all swing

Template engine for text output (HTML, email, config, source). FTL language; MVC separation; zero dependencies. Apache project since 2015.

See all template-engines

Lightweight framework for unit testing J2EE applications: Struts actions/forms, servlets, filters, tags, plus JDBC, JMS, and JCA test frameworks; no application server required. Maintained on GitHub with Maven modules.

See all testing-tools

The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible regular expressions, AWK-like regular expressions, glob expressions, and utility classes for performing substitutions, splits, filtering filenames, etc. This library is the successor to the OROMatcher, AwkTools, PerlTools, and TextTools libraries originally...

See all text-processing

Alma is a software workshop for modeling and analyzing. It reads several sources (languages, models, etc. ), helps you design for object-oriented modeling (definition of classes, relations, patterns, etc.

See all uml-modeling

Commons Validator provides the building blocks for both client side validation and server side data validation. It may be used standalone or with a framework like Struts.

See all validation

Anvil is a Java based server environment and object oriented programming language with templating support, being especially well-suited to for web applications.

See all web-frameworks

Claros inTouch (previously known as Claros Webmail) is an Ajax communication suite with key features such as webmail, address book, post-it notes, calendar(in progress), built in instant messenger, rss reader, webdisk(in progress). It is an open source web application which features built in spam protection and instant messaging capabilities.

See all web-mail

Jetty is a 100% Java HTTP Server and Servlet Container. This means that you do not need to configure and run a separate web server (like Apache) in order to use java, servlets and JSPs to generate dynamic content. Jetty is a fully featured web server for static and dynamic content.

See all web-servers

Apache Axis2, the third generation Web services engine is more efficient, more modular and more XML-oriented than its predecessor Apache Axis. It is carefully designed to support the easy addition of plug-in modules that extend its functionality for features such as security and increased reliability.

See all web-services-tools

HtmlUnit is a java unit testing framework for testing web based applications. It is similar in concept to httpunit but is very different in implementation. Which one is better for you depends on how you like to write your tests.

See all web-testing-tools

The fully integrated standalone wiki, and acceptance testing framework. New users should download the . zip file to give Fitnesse a try.

See all wiki-engines

Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.

See all workflow-engines

dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP

See all xml-parsers

The Beryl XML GUI library was written to ease the development of graphical user interfaces using Swing on Java. It lets you store user interfaces as XML markup. This will help you avoid unnecessary clutter in your source - Swing code mixed with application logic can become a troublesome and hard to read mess as the application size increases.

See all xml-user-interface-toolkits