Apache Juneau™ is a single cohesive Java framework consisting of the following parts:
- juneau-marshall - A universal toolkit for marshalling POJOs to a wide variety of content types using a common framework with no external library dependencies.
- juneau-dto - A variety of predefined DTOs for serializing and parsing languages such as HTML5, Swagger and ATOM.
- juneau-svl - A simple yet powerful variable replacement language API.
- juneau-config - A sophisticated configuration file API.
- juneau-rest-server - A universal REST server API for creating Swagger-based self-documenting REST interfaces using POJOs, simply deployed as
one or more top-level servlets in any Servlet 3.1.0+ container.
- juneau-rest-client - A universal REST client API for interacting with Juneau or 3rd-party REST interfaces using POJOs and proxy interfaces.
- juneau-microservice - A REST microservice API that combines all the features above with a simple configurable Jetty server for
creating lightweight standalone REST interfaces that start up in milliseconds.
Questions via email to email@example.com are always welcome.
Juneau is packed with features that may not be obvious at first.
Users are encouraged to ask for code reviews by providing links to specific source files such as through GitHub.
Not only can we help you with feedback, but it helps us understand usage patterns to further improve the product.
- KISS is our mantra! No auto-wiring. No code generation. No dependency injection. Just add it to your classpath and use it. Extremely simple unit testing!
- Tiny - ~1MB
- Exhaustively tested
- Lots of up-to-date documentation and examples
- Minimal library dependencies:
- juneau-marshall, juneau-dto, juneau-svl, juneau-config - No external dependencies. Entirely self-contained.
- juneau-marshall-rdf - Optional RDF support. Requires Apache Jena 2.7.1+.
- juneau-rest-server - Any Servlet 3.1.0+ container.
- juneau-rest-client - Apache HttpClient 4.5+.
- juneau-microservice - Eclipse Jetty.
- Built on top of Servlet and Apache HttpClient APIs that allow you to use the newest HTTP/2 features
such as request/response multiplexing and server push.