blob: 72d0ec4ee78b62b0b6a2250556fb70007b5fe978 [file] [log] [blame]
<!--
/***************************************************************************************************************************
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
***************************************************************************************************************************/
-->
Components
<p>
We've strived to keep prerequisites to an absolute minimum in order to make adoption as easy as possible.
</p>
<p>
The library consists of the following artifacts found in the Maven group <c>"org.apache.juneau"</c>:
</p>
<table class='styled w800'>
<tr>
<th>Category</th><th>Maven Artifacts</th><th>Description</th><th>Prereqs</th>
</tr>
<tr class='dark bb'>
<td rowspan="4" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-core</td>
<td class='code'><a class='doclink' href='#juneau-marshall'>juneau-marshall</a></td>
<td>Serializers and parsers for:
<ul style='margin:0px 10px;'>
<li>JSON
<li>XML
<li>HTML
<li>UON
<li>URL-Encoding
<li>MessagePack
<li>OpenAPI
<li>SOAP/XML
<li>CSV
<li>BSON (coming soon)
<li>YAML (coming soon)
<li>Protobuf (coming soon)
<li>Amazon Ion (coming soon)
</ul>
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8
</ul>
</td>
</tr>
<tr class='dark bb'>
<td class='code'><a class='doclink' href='#juneau-marshall-rdf'>juneau-marshall-rdf</a></td>
<td>
Serializers and parsers for:
<ul style='margin:0px 10px;'>
<li>RDF/XML
<li>RDF/XML-Abbrev
<li>N-Triple
<li>Turtle
<li>N3
</ul>
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8
<li>Apache Jena 2.7.1
</ul>
</td>
</tr>
<tr class='dark bb'>
<td class='code'><a class='doclink' href='#juneau-dto'>juneau-dto</a></td>
<td>
Data Transfer Objects for:
<ul style='margin:0px 10px;'>
<li>HTML5
<li>Atom
<li>Cognos
<li>JSON-Schema
<li>Swagger 2.0
</ul>
</td>
<td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
</tr>
<tr class='dark bb'>
<td class='code'><a class='doclink' href='#juneau-config'>juneau-config</a></td>
<td>
Configuration file API
</td>
<td><ul style='margin:0px 10px;'><li>Java 8+</li></ul></td>
</tr>
<tr class='light bb'>
<td rowspan="4" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-rest</td>
<td class='code'><a class='doclink' href='#juneau-rest-server'>juneau-rest-server</a></td>
<td>
REST Servlet API
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8
<li>Servlet 3.1+
</ul>
</td>
</tr>
<tr class='light bb'>
<td class='code'><a class='doclink' href='#juneau-rest-server-springboot'>juneau-rest-server-springboot</a></td>
<td>
Spring Boot integration support
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
<li>Spring Boot 2.0+
</ul>
</td>
</tr>
<tr class='light bb'>
<td class='code'><a class='doclink' href='#juneau-rest-server-jaxrs'>juneau-rest-server-jaxrs</a></td>
<td>
JAX-RS support
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
<li>JAX-RS 2.0
</ul>
</td>
</tr>
<tr class='light bb'>
<td class='code'><a class='doclink' href='#juneau-rest-client'>juneau-rest-client</a></td>
<td>
REST Client API
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
<li>Apache HttpClient 4.5+
</ul>
</td>
</tr>
<tr class='dark bb'>
<td rowspan="4" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-microservice</td>
<td class='code'><a class='doclink' href='#juneau-microservice-core'>juneau-microservice-core</a></td>
<td>
Microservice API
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
</ul>
</td>
</tr>
<tr class='dark bb'>
<td class='code'><a class='doclink' href='#juneau-microservice-jetty'>juneau-microservice-jetty</a></td>
<td>
Jetty Microservice API
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
<li>Eclipse Jetty 9.4+
</ul>
</td>
</tr>
<tr class='dark bb'>
<td class='code'><a class='doclink' href='#my-jetty-microservice'>my-jetty-microservice</a></td>
<td>
Developer template project for Jetty-based microservices.
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
<li>Eclipse Jetty 9.4+
</ul>
</td>
</tr>
<tr class='dark bb'>
<td class='code'><a class='doclink' href='#my-springboot-microservice'>my-springboot-microservice</a></td>
<td>
Developer template project for Spring-Boot-based microservices.
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
<li>Spring Boot 2.0+
</ul>
</td>
</tr>
<tr class='light bb'>
<td rowspan="4" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-examples</td>
<td class='code'><a class='doclink' href='#juneau-examples-core'>juneau-examples-core</a></td>
<td>
Core code examples
</td>
<td></td>
</tr>
<tr class='light bb'>
<td class='code'><a class='doclink' href='#juneau-examples-rest'>juneau-examples-rest</a></td>
<td>
REST code examples
</td>
<td></td>
</tr>
<tr class='light bb'>
<td class='code'><a class='doclink' href='#juneau-examples-rest-jetty'>juneau-examples-rest-jetty</a></td>
<td>
REST code examples deployed using Jetty
</td>
<td></td>
</tr>
<tr class='light bb'>
<td class='code'><a class='doclink' href='#juneau-examples-rest-springboot'>juneau-examples-rest-springboot</a></td>
<td>
REST code examples deployed using Spring Boot
</td>
<td></td>
</tr>
<tr class='dark bb'>
<td rowspan="1" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-all</td>
<td class='code'><c>juneau-all</c></td>
<td>
Combination of the following:
<ul style='margin:0px 10px;'>
<li>juneau-marshall
<li>juneau-dto
<li>juneau-config
<li>juneau-rest-server
<li>juneau-rest-client
</ul>
</td>
<td>
<ul style='margin:0px 10px;'>
<li>Java 8+
<li>Servlet 3.1+
<li>Apache HttpClient 4.5+
</ul>
</td>
</tr>
</table>
<p>
The current version of Juneau is <c>{@property juneauVersion}</c>.
The easiest way to pull in the library is through the following maven dependency:
</p>
<p class='bpcode w800'>
<xt>&lt;dependency&gt;</xt>
<xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
<xt>&lt;artifactId&gt;</xt>juneau-all<xt>&lt;/artifactId&gt;</xt>
<xt>&lt;version&gt;</xt>{@property juneauVersion}<xt>&lt;/version&gt;</xt>
<xt>&lt;/dependency&gt;</xt>
</p>
<p>
If you would like to work with the bleeding-edge code, you can access the <c>{@property juneauVersionNext}-SNAPSHOT</c>
version through the following repository:
</p>
<p class='bpcode w800'>
<xt>&lt;pluginRepositories&gt;
&lt;pluginRepository&gt;
&lt;id&gt;<xv>apache.snapshots</xv>&lt;/id&gt;
&lt;url&gt;<xv>http://repository.apache.org/snapshots/</xv>&lt;/url&gt;
&lt;snapshots&gt;
&lt;enabled&gt;<xv>true</xv>&lt;/enabled&gt;
&lt;updatePolicy&gt;<xv>always</xv>&lt;/updatePolicy&gt;
&lt;/snapshots&gt;
&lt;/pluginRepository&gt;
&lt;/pluginRepositories&gt;</xt>
</p>
<p>
Each of the components are also packaged as stand-alone OSGi modules.
</p>