Skip to content

Java Dependencies

This page lists the key third-party Java libraries bundled with OpenECPDS, grouped by functional area. Only direct runtime dependencies are shown; transitive dependencies pulled in by these libraries are not listed.

Runtime Platform

Requirement Version Purpose
OpenJDK 25+ Java runtime — required to run all OpenECPDS components

Web & HTTP Server

Library Version License Purpose
Eclipse Jetty 12.1.x Apache 2.0 Embedded HTTP/HTTPS server (EE8 for Monitor UI, EE10 for REST API and Data Portal)
Jakarta Servlet API (EE8) 4.0.1 EPL 2.0 Servlet API for the Monitor UI and WebDAV handler

REST API

Library Version License Purpose
Eclipse Jersey 3.1.x EPL 2.0 JAX-RS implementation for the master REST API (/ecpds/v1/) and mover REST service
Jakarta Annotation API 2.1.1 EPL 2.0 Jakarta annotations used by Jersey
Jackson Databind 2.18.x Apache 2.0 JSON serialisation / deserialisation for REST responses

Database & ORM

Library Version License Purpose
Hibernate ORM 7.0.x LGPL 2.1 JPA/ORM layer for all master server database access
Hibernate JCache 7.0.x LGPL 2.1 Second-level cache integration between Hibernate and EhCache
Hibernate HikariCP 7.0.x LGPL 2.1 HikariCP connection pool integration for Hibernate
HikariCP 6.3.x Apache 2.0 High-performance JDBC connection pool
MariaDB JDBC Client 3.5.x LGPL 2.1 Primary JDBC driver for MariaDB databases
MySQL Connector/J 9.3.x GPL 2.0 JDBC driver for MySQL databases

Caching

Library Version License Purpose
EhCache 3.10.x Apache 2.0 JCache (JSR-107) provider used as Hibernate's second-level cache
JAXB API 2.3.1 CDDL 1.1 javax.xml.bind API required by EhCache XML config parsing (removed from JDK 9+)
JAXB Impl 2.3.9 CDDL 1.1 JAXB 2.x runtime implementation required by EhCache

Security & Cryptography

Library Version License Purpose
Bouncy Castle Provider 1.84+ MIT JCA/JCE cryptography provider (TLS, certificates, encryption)
Bouncy Castle PKIX 1.84+ MIT X.509 certificate handling, PKIX path validation, CMS/SMIME

SSH & SFTP

Library Version License Purpose
Apache MINA SSHD (SFTP) 2.19.x Apache 2.0 Embedded SFTP server for the Data Portal
Apache MINA SSHD (SCP) 2.19.x Apache 2.0 SCP transfer module support
JSch (mwiede fork) 2.27.x BSD SSH/SFTP client used for outbound SFTP transfers to remote hosts
EdDSA (ed25519) 0.3.0 CC0 Ed25519 key support for SSH authentication

File Transfer Protocols

Library Version License Purpose
Apache Commons Net 3.11.x Apache 2.0 FTP/FTPS client for outbound FTP transfers
ftp4j 1.7.2 LGPL Alternative FTP client library
Jackrabbit WebDAV 2.22.x Apache 2.0 WebDAV server (Data Portal) and client support
LZ4 Java 1.8.1+ Apache 2.0 LZ4 fast compression for data transfer optimisation

Cloud Storage

Library Version License Purpose
AWS SDK S3 2.46.x Apache 2.0 Amazon S3 transfer module and S3-compatible storage support
AWS SDK STS 2.46.x Apache 2.0 AWS Security Token Service for temporary credential handling
AWS SDK Apache Client 2.46.x Apache 2.0 Apache HTTP client backend for the AWS SDK
Azure Core 1.55.x MIT Azure SDK foundation
Azure Core HTTP Netty 1.15.x MIT Netty-based HTTP transport for the Azure SDK
Azure Storage Blob 12.30.x MIT Azure Blob Storage transfer module
Azure Storage Common 12.29.x MIT Shared Azure Storage primitives
Azure Identity 1.16.x MIT Azure managed identity and credential providers
Google Cloud Storage (BOM) Apache 2.0 Google Cloud Storage transfer module

Messaging & MQTT

Library Version License Purpose
HiveMQ Community Edition (Embedded) 2025.3 Apache 2.0 Embedded MQTT broker for push notifications
Eclipse Paho MQTT v5 Client 1.2.5 EPL 2.0 MQTT v5 client for outbound notifications and subscriptions

Logging

Library Version License Purpose
Apache Log4j 2 Core 2.26.x Apache 2.0 Logging implementation
Apache Log4j 2 API 2.26.x Apache 2.0 Logging API
Log4j SLF4J Bridge 2.26.x Apache 2.0 Routes SLF4J log calls to Log4j 2
Log4j 1.2 API Bridge 2.26.x Apache 2.0 Compatibility bridge for legacy Log4j 1.x calls
LMAX Disruptor 4.0.0 Apache 2.0 High-throughput async logging queue used by Log4j 2
Apache Sling Commons Threads 3.3.0 Apache 2.0 Thread pool management used by the logging subsystem

Scripting & Polyglot

Library Version License Purpose
GraalVM Polyglot 25.0.x UPL 1.0 Polyglot scripting host for user-defined JavaScript/Python scripts
GraalVM JavaScript 25.0.x UPL 1.0 JavaScript engine (metadata transformation scripts, rule evaluation)
GraalVM Python 25.0.x UPL 1.0 Python engine (user-defined data processing scripts)

Search & Indexing

Library Version License Purpose
Apache Lucene Core 9.10.x Apache 2.0 Full-text search index for transfers and metadata
Apache Lucene Query Parser 9.10.x Apache 2.0 Lucene query parsing
Apache Lucene Analysis 9.10.x Apache 2.0 Text analysis and tokenisation for Lucene

AI / LLM Integration

Library Version License Purpose
LangChain4j 0.35.x Apache 2.0 LLM integration framework
LangChain4j Core 0.35.x Apache 2.0 LangChain4j core API
LangChain4j Ollama 0.35.x Apache 2.0 Ollama local LLM backend integration

Monitor UI (Web Framework)

Library Version License Purpose
Struts 1.2.9 Apache 2.0 MVC web framework for the Monitor UI (JSP/Struts actions)
Apache Taglibs Standard (Impl) 1.2.5 Apache 2.0 JSTL tag library implementation for JSP pages
Apache Taglibs Standard (Spec) 1.2.5 Apache 2.0 JSTL specification API

Utilities

Library Version License Purpose
Google Guava (BOM) Apache 2.0 General-purpose utility library (collections, I/O, hashing)
Jackson Databind (Codehaus, legacy) 1.9.11 Apache 2.0 Legacy Jackson 1.x used by a small number of modules (S3, OpsView)
Apache Commons IO 2.20.x Apache 2.0 File and stream I/O utilities
Apache Commons Lang 2.6 Apache 2.0 String and object utilities
Apache Commons Compress 1.27.x Apache 2.0 Archive and compression formats (tar, gz, bz2, zstd)
Apache Commons CSV 1.14.x Apache 2.0 CSV parsing and formatting
Apache Commons Collections 3.2.2 Apache 2.0 Extended Java collections framework
Apache Commons Net 3.11.x Apache 2.0 FTP, SMTP and other network protocol clients
Apache HttpClient 5 5.3.x Apache 2.0 HTTP client used for outbound REST/web service calls
Jsoup 1.20.x MIT HTML parsing and sanitisation
Java Diff Utils 4.12 Apache 2.0 Diff / patch computation for configuration change tracking
MaxMind GeoIP2 4.2.x Apache 2.0 IP geolocation for country/region resolution
JavaMail (Sun) 1.6.2 CDDL 1.1 E-mail notification delivery
JDOM 1.1.3 Apache-style XML document processing
Kotlin stdlib 1.9.x Apache 2.0 Kotlin standard library (transitive, pulled in by HiveMQ)