The AWS Serverless Java Container library is a framework that allows developers to run existing or new Java web applications—built with frameworks such as Spring, Jersey, Spark, Struts—inside AWS Lambda with minimal modifications. It bridges the gap between traditional servlet or web-framework models and serverless functions by mapping HTTP events from API Gateway into requests your framework understands and routing responses back appropriately. This means you can keep much of your familiar Java-based architecture (controllers, filters, dependency injection) and deploy it in a serverless environment without rewriting everything from scratch. The project supports multiple framework flavors and versions, provides archetypes (Maven/Gradle) to scaffold applications, and maintains separate branches for legacy (Java EE/1.x) and modern (Jakarta EE/2.x+) ecosystems.
Features
- Support for a variety of Java web frameworks (Spring Boot, Jersey, Spark, Struts)
- Seamless mapping of API Gateway proxy events to web-framework request/response lifecycle
- Maven/Gradle archetypes for fast scaffold of serverless Java applications
- Branches for legacy and modern Java ecosystems, making migration smoother
- Support for tuning cold-start behavior, memory configuration and Lambda optimizations
- Ability to reuse existing Java code-bases in a serverless deployment model