WildFly bootable JAR application development
The usage of the WildFly Bootable JAR Maven plugin has been deprecated. This documentation covers its usage. This chapter covers the creation of a bootable JAR using the WildFly Maven Plugin. |
This document details the steps to follow in order to develop a WildFly application packaged as a bootable JAR. A WildFly bootable JAR should target a bare-metal or virtualized platform. For the cloud platform, you should read the WildFly Maven Plugin Guide that explains how to produce a WildFly installation ready to run on the cloud.
Developing an application packaged as a bootable JAR is no different from developing an application using the WildFly Maven Plugin. Additional configuration items instruct the plugin to produce a WildFly Bootable JAR.
1. Configuring the WildFly Maven plugin
Maven Plugin configuration example:
<build>
<plugins>
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<feature-packs>
<feature-pack>
<location>wildfly@maven(org.jboss.universe:community-universe)</location>
</feature-pack>
</feature-packs>
<layers>
<layer>jaxrs-server</layer>
</layers>
<bootable-jar>true</bootable-jar> (1)
</configuration>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
(1) This option will cause the plugin produce a bootable JAR.
By default the file server-bootable.jar
is generated in the project target
directory. You can use the option <bootable-jar-name>[jar name]</bootable-jar-name>
to change the jar name.
2. Running your application
Call java -jar <path to bootable JAR> <arguments>
2.1. Bootable JAR arguments
The following arguments can be used when starting the bootable JAR:
Option | Description |
---|---|
-b[interface]=<value> |
Set system property jboss.bind.address.<interface> to the given value |
-b=<value> |
Set system property jboss.bind.address to the given value |
-D<name>[=<value>] |
Set a system property. The system properties are set by the server. They are not set by the bootable JAR JVM. |
--help |
Display help then exit |
--cli-script=<path to CLI script file> |
Path to a CLI script to execute when starting the Bootable JAR |
--deployment=<path to WAR/JAR/EAR file or exploded deployment directory> |
Application to install in the hollow JAR. Adding a deployment to an bootable JAR already containing a deployment is invalid. |
--display-galleon-config |
Display the content of the Galleon configuration used to build this bootable JAR. |
--install-dir=<path to directory to install server in> |
By default a new TEMP directory is created. TEMP directory location is controlled by the Java VM (call to |
--properties=<url> |
Load system properties from the given url |
-S<name>[=value] |
Set a security property |
-secmgr |
Activate and install the |
--stability[=value] |
Runs the server using a specific stability level. Possible values: [default, community, preview, experimental], Default = community |
-u=<value> |
Set system property jboss.default.multicast.address to the given value. |
--version |
Print version and exit. |