{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 end-to-end 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 JSON (various flavors), XML, HTML, URL-Encoding, UON, OpenAPI, PlainText, CSV, SOAP, and MessagePack. | Apache HttpCore 4.4
juneau-marshall-rdf | Serializers and parsers for RDF/XML (various flavors), N3, NTriple, and Turtle. | Apache HttpCore 4.4 Apache Jena 2.7.1
juneau-dto | Data Transfer Objects for HTML5, Atom, Cognos, JSON-Schema, and Swagger | None
juneau-config | Configuration File API | None
juneau-assertions | Fluent-style assertions API | None
juneau-rest | juneau-rest-common | REST APIs common to client and server side. | Apache HttpCore 4.4
juneau-rest-server | REST Servlet API | Servlet 3.1+
juneau-rest-server-springboot | REST Spring Boot integration | Spring Boot 2.0+
juneau-rest-client | REST Client API | Apache HttpClient 4.5
juneau-rest-mock | REST Testing API | Apache HttpClient 4.5
my-springboot-microservice | Spring Boot developer template | 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-assertions juneau-rest-common juneau-rest-server juneau-rest-client | Servlet 3.1+ Apache HttpClient 4.5+

The current version of Juneau is 9.0.1. 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>9.0.1</version> | </dependency>

If you would like to work with the bleeding-edge code, you can access the 9.0.2-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.
- All modules work with Java 8 through at least 18.