Avaje is a set of Java libraries for building microservices.
Most use annotation processing to make them exceptionally light and most importantly, reflection-free. The effective size of all the following libraries combined barely takes up 0.6MB. (This is because most of the heavy lifting is done in annotation processors that are not included in your final jar)
- avaje-config (Provides external configuration via loading yaml and property files)
- avaje-inject (Compile-time Dependency Injection)
- avaje-http (Generates Helidon/Javalin/Jex/Sigma adapters from JAX-RS Style Controllers)
- avaje-http-client (Wraps and enhances the built-in JDK HTTP client)
- avaje-jsonb (Lightning fast compile-time json serialization)
- avaje-validator (Compile-time Pojo Validation)
- avaje-jex (Wraps the built-in JDK HttpServer)
- avaje-sigma (Http Routing for AWS lambda)
- avaje-record-builder (Creates builders for JDK 17 records)
- avaje-spi-service (Adds META-INF/services entries for classes and validates module files)
- avaje-prisms (Utility Lib for writing annotation processors)
General information:
- The project webpage and docs for the various libraries are at avaje.io.
- Chat/Ask questions on Discord: https://discord.gg/Qcqf9R27BR
- License summary: https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)