Payara Micro Maven Plugin
Payara Micro has a Maven plugin which can start and stop Payara Micro and create an Uber JAR bundle of the application and Payara Micro.
The plugin requires JDK 7 or higher and the latest version is currently
1.0.0-SNAPSHOT
Configurable Goals
bundle
Aim: This goal bundles the attached project’s artifact into an Uber JAR with
the specified configurations. By default this goal is attached to the install
phase.
Usage: mvn payara-micro:bundle
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>${payaramicro.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>bundle</goal>
</goals>
</execution>
</executions>
<configuration>
<startClass>my.custom.start.class.Main</startClass>
<deployArtifacts>
<artifactItem>
<groupId>org.mycompany</groupId>
<artifactId>my-project</artifactId>
<version>1.0</version>
<type>ear</type>
</artifactItem>
</deployArtifacts>
<customJars>
<artifactItem>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.0</version>
</artifactItem>
</customJars>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
|
true |
If the extension of the produced artifact is |
|
(optional): |
Replaces the |
|
true |
Appends all system properties defined into the |
|
4.1.1.171 |
By default bundle mojo fetches payara-micro with version 4.1.1.171. |
|
None |
Can contain a list of artifactItems, which defines the dependencies with their GAVs to be copied under MICRO-INF/deploy folder. |
|
None |
Can contain a list of artifactItems, which defines the dependencies with their GAVs to be copied under MICRO-INF/lib folder. |
start
Aim: This goal starts Payara Micro with the specified configuration.
Usage: mvn payara-micro:start
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>${payaramicro.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
<configuration>
<useUberJar>true</useUberJar>
<daemon>true</daemon>
<javaPath>/path/to/Java/Home</javaPath>
<payaraMicroAbsolutePath>/path/to/payara-micro.jar</payaraMicroAbsolutePath>
<artifactItem>
<groupId>fish.payara.extras</groupId>
<artifactId>payara-micro</artifactId>
<version>4.1.1.171</version>
</artifactItem>
<deployWar>true</deployWar>
<copySystemProperties>true</copySystemProperties>
<commandLineOptions>
<option>
<key>--domainconfig</key>
<value>/path/to/domain.xml</value>
</option>
<option>
<key>--autoBindHttp</key>
<value>true</value>
</option>
</commandLineOptions>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
|
false |
Use created uber-jar that resides in target folder. The name of the JAR
artifact will be resolved automatically by evaluating its final name, artifact
ID and version. This configuration element has the higher precedence compared to
|
|
false |
Starts payara-micro in separate JVM process and continues with the maven build. |
|
|
Absolute path to the java executable. |
|
none |
Absolute path to payara-micro executable. |
|
none |
Defines payara-micro artifact with its coordinates. Specified artifact should be available in local maven repository. |
|
false |
If the attached project is of type WAR, it will automatically be deployed to payara-micro if deployWar is set to true. |
|
false |
Allows passing all system properties available within the maven build to the payara-micro execution. |
commandLineOptions |
none |
Defines a list of command line options that will be passed onto payara-micro. |
stop
Aim: This goal stops Payara Micro with the specified configuration. By default
this goal tries to find the currently executing Payara Micro instance by
checking the running uberjar. If an artifactItem
is defined, it will take
precedence for identifying currently running instances. If processId
is
defined, this takes the highest precedence and the given processId
will
immediately kill the executing Payara Micro instance.
Usage: mvn payara-micro:stop
Example:
<plugin>
<groupId>fish.payara.maven.plugins</groupId>
<artifactId>payara-micro-maven-plugin</artifactId>
<version>${payaramicro.maven.plugin.version}</version>
<executions>
<execution>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
<configuration>
<processId>32333</processId>
<artifactItem>
<groupId>fish.payara.extras</groupId>
<artifactId>payara-micro</artifactId>
<version>4.1.1.171</version>
</artifactItem>
</configuration>
</plugin>
Element | Default | Notes |
---|---|---|
processId |
none |
Process id of the running payara-micro. |
artifactItem |
none |
Defines payara-micro artifact with its coordinates. This information is used to identify the process id of the running payara-micro. |