/thorntail

Source code for the Thorntail project

Primary LanguageJavaApache License 2.0Apache-2.0

Build Status License Maven Central Join the chat at freenode:thorntail

Thorntail: Rightsize your JavaEE Applications

Issues for v2/master are being tracked using the Red Hat issue tracking system (JIRA). Issues for v4 are being tracked in GitHub Issues. Bug reports and feature requests are greatly appreciated.

Thorntail Core

Thorntail provides a mechanism for building applications as uber jars, with just enough of the WildFly application server wrapped around it to support each application's use-case.

Note: Thorntail requires Maven 3.2.5 or higher for building your application.

Note: Thorntail requires JDK 8 or higher for building your application or for building Thorntail itself.

Project Configuration

In a normal WAR-based maven pom.xml, simply add the following

<plugin>
  <groupId>io.thorntail</groupId>
  <artifactId>thorntail-maven-plugin</artifactId>
  <version>${version.thorntail}</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>package</goal>
      </goals>
    </execution>
  </executions>
</plugin>

This will take the .war file normally created by your build, and wrap it in the wildfly-swarm mechanisms.

If you normally produce myapp-1.0.war, in your target/ directory will then also be present a myapp-1.0-thorntail.jar.

In order to specify the portions of the WildFly AS your application needs, your pom.xml should specify some of the following dependencies within the io.thorntail Maven group-id:

  • bean-validation
  • cdi
  • ee
  • io
  • jaxrs
  • logging
  • naming
  • request-controller
  • security
  • transactions
  • undertow
  • and many more!

How To Build Thorntail Itself

Thorntail attempts to be a well-behaved Maven project. To install to your local repository for usage:

mvn clean install

If you're running short on time:

mvn clean install -DskipTests

Documentation

For a more complete set of documentation, go to the Thorntail Guide.

Community

  • We hang out in #thorntail on irc.freenode.net.