Requirements
Build-time requirements
Section titled “Build-time requirements”These apply to the project that uses Sprout (your application, not Sprout’s own build):
| Requirement | Minimum |
|---|---|
| JDK | 21+ |
| Maven | 3.9+ (if using Maven) |
| Gradle | Any modern version that supports annotationProcessor configuration |
Sprout’s annotation processor is compiled with maven.compiler.release=21 and declares
@SupportedSourceVersion(RELEASE_21). You must compile your application with JDK 21 or later.
Runtime requirements
Section titled “Runtime requirements”Generated code is standard Spring Boot code. You need the usual Spring Boot stack:
| Dependency | Version |
|---|---|
| Spring Boot | 3.5.x or later |
spring-boot-starter-web |
for the generated @RestController |
spring-boot-starter-data-jpa |
for the generated JpaRepository |
| A JPA provider (e.g. Hibernate) and a database driver | as normal |
Optional runtime requirements
Section titled “Optional runtime requirements”These are only needed when you use the corresponding Sprout features:
| Feature | Required dependency |
|---|---|
Bean validation on POST/PUT (@Valid) |
spring-boot-starter-validation |
@SproutPolicy security expressions |
spring-boot-starter-security |
authenticationPrincipal = true |
spring-boot-starter-security |
| OpenAPI / Swagger docs | springdoc-openapi-starter-webmvc-ui (or equivalent SpringDoc artifact) |
| Unified error handling + security autoconfig | sprout-runtime |