{title:'Overview'}

##### About

Apache Juneau™ is a single cohesive Java ecosystem for marshalling Java objects to a wide variety of language types and creating annotation-based REST server and client APIs.

The Juneau ecosystem consists of the following parts:

Category | Maven Artifacts | Description | Prereqs
--- | --- | --- | ---
juneau-core | juneau-marshall | Serializers and parsers for various languages. Marshalling support for HTTP headers/parts/requests/responses. Marshall-based assertions for simplified unit testing. | Java 8 Apache HttpCore 4.4.13
juneau-marshall-rdf | Serializers and parsers for various RDF languages. | Java 8 Apache Jena 2.7.1
juneau-dto | Data Transfer Objects for HTML5, Atom, Cognos, JSON-Schema, and Swagger | Java 8+
juneau-config | Configuration File API | Java 8+
juneau-rest | juneau-rest-server | REST Servlet API | Java 8 Servlet 3.1+
juneau-rest-server-springboot | REST Spring Boot integration | Java 8+ Spring Boot 2.0+
juneau-rest-server-jaxrs | REST JAX-RS integration | Java 8+ JAX-RS 2.0
juneau-rest-client | REST Client API | Java 8+ Apache HttpClient 4.5+
juneau-rest-mock | REST Testing API | Java 8+ Apache HttpClient 4.5+
my-springboot-microservice | Spring Boot developer template | Java 8+ Spring Boot 2.0+
juneau-examples | juneau-examples-core | Core code examples |
juneau-examples-rest | REST code examples |
juneau-all | juneau-all | Combination of the following: juneau-marshall juneau-dto juneau-config juneau-rest-server juneau-rest-client | Java 8+ Servlet 3.1+ Apache HttpCore 4.4.13 Apache HttpClient 4.5+

The current version of Juneau is {@property juneauVersion}. The easiest way to pull in the library is through the following maven dependency:

| <dependency> | <groupId>org.apache.juneau</groupId> | <artifactId>juneau-all</artifactId> | <version>{@property juneauVersion}</version> | </dependency>

If you would like to work with the bleeding-edge code, you can access the {@property juneauVersionNext}-SNAPSHOT version through the following repository:

| <pluginRepositories> | <pluginRepository> | <id>apache.snapshots</id> | <url>http://repository.apache.org/snapshots/</url> | <snapshots> | <enabled>true</enabled> | <updatePolicy>always</updatePolicy> | </snapshots> | </pluginRepository> | </pluginRepositories>

Each of the components are also packaged as stand-alone OSGi modules.

##### Features

- Fast memory-efficient serialization.
- Fast, safe, memory-efficient parsing. Parsers are not susceptible to deserialization attacks.
- 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!
- Enjoyable to use
- Tiny - ~1MB
- Exhaustively tested
- Lots of up-to-date documentation and examples
- Minimal library dependencies making it ideal for use in uber-jars.
- 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.