--- title: Rightsize your Java EE Applications layout: index.jade --- ++++
Thorntail offers an innovative approach to packaging and running Java EE applications by packaging them with just enough of the server runtime to "java -jar" your application. It's MicroProfile compatible, too. And, it's all much, much cooler than that ...
++++ [pass] ++++

Getting Started

Generate Project

The simplest way to get started is by using the project generator. Simply choose the capabilities you need and we'll generate a maven project for you, ready to download and use.

Create a Project

Documentation

The user guide contains much information to get started and to answer more advanced questions.

View Documentation

Code Examples

We provide plenty of examples on how to use existing Java EE API's and components to support microservice architectures.

View Examples

++++ [pass] ++++

Simple Project Setup

++++ Add dependencies for just the parts of WildFly that you need to your Maven build (or don't add anything at all and the plugin will auto-detect for you). The following example assumes a simple JAX-RS RESTful application. Import the BOM (_Bill of Materials_) dependency [source,xml] ---- io.thorntail bom ${version.thorntail} import pom ---- Declare the fractions you need (or not, we'll do our best to auto-detect them for you): [source,xml] ---- io.thorntail jaxrs ---- [pass] ++++
++++ Add the Thorntail Maven plugin: [source,xml] ---- io.thorntail thorntail-maven-plugin ${version.thorntail} package ---- Generate the uberjar and run it: [source,bash] ---- mvn package java -jar -thorntail.jar ---- [pass] ++++
++++ [pass] ++++

Features and Benefits

Mature

Develop services using the feature richness and maturity of the enterprise Java industry standard - Java EE

Flexible

Simply specify Thorntail Maven dependencies to bundle just the parts of the Java EE 7 WildFly application server that you need. Don't use EJBs or JPA? Great, nothing is bundled unless you specify it!

Straightforward

Generate uberjar (Ex: java -jar MyApp.jar), or generate a .war and deploy to any Java EE compatible application server.

Service Oriented

Use built-in service discovery, or use external service registries. You choose.

Practical

Built-in support for third party apps and frameworks like Logstash and NetFlix OSS projects like Hystrix and Ribbon.

Integrated

Integrates with upstream Red Hat projects for single sign-on KeyCloak, monitoring Hawkular, data grid InfiniSpan, and more broadly, Platform as a Service OpenShift.
++++