Java SDK

The Java SDK provides a code-first approach to developing Kalix applications. This SDK offers a way to develop applications which should be familiar to someone who has worked with Spring applications by making use of annotations to assemble Kalix and its components.

When using the Kalix Java SDK, your services are exposed using traditional Spring REST annotations and serialization is backed by the ubiquitous Jackson library.

If you’re new to Kalix and the different types of entities that exist in a Kalix app, consider reading this section before continuing.


The following are required to develop services in Java:


Kalix requires Java 17 or later.

Apache Maven

Kalix relies on Apache Maven new tab as build tool.


Kalix requires Docker new tab 20.10.14 for building your service images. Most popular build tools have plugins that assist in building Docker images.


As the Java SDK is more recent than their gRPC-first counterparts, not all features are supported at this time. However, there’s already a lot to play with:

Getting Started

You can start a new Kalix project using our Getting started guide. If you prefer to first explore a fully implemented Kalix application, you can try our Quickstart application.