wildfly:package
Full name:
org.wildfly.plugins:wildfly-maven-plugin:5.1.5.Final:package
Description:
Provision a server, copy extra content and deploy primary artifact if it exists.
Additional deployments can also be resolved from the dependencies. Use the <included-dependencies/>, <excluded-dependencies/>, <included-dependency-scope/> and/or <excluded-dependency-scope/> to deploy additional artifacts to the packaged server.
Note the <included-dependencies/>, <excluded-dependencies/>, included-dependency-scope and <excluded-ependency-scope/> configuration properties are chained together and all checks must pass to be included as additional deployments.
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
test. - The goal is not marked as thread-safe and thus does not support parallel builds.
- Since version:
3.0. - Binds by default to the lifecycle phase:
package.
Optional Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<bootableJar> |
boolean |
5.0 |
Package the provisioned server into a WildFly Bootable JAR. In order to produce a hollow jar (a jar that doesn't contain a deployment) set the { @code skipDeployment } parameter. A server packaged as bootable JAR is suited to run on bare-metal. When provisioning a server for the cloud, this option shouldn't be set. Note that the produced fat JAR is ignored when running the User Property: wildfly.bootable.jarAlias: bootable-jar |
<bootableJarInstallArtifactClassifier> |
String |
5.0 |
When bootable-jar is set to true, the bootable JAR artifact is attached to the project with the classifier 'bootable'. Use this parameter to configure the classifier.Default: bootableUser Property: wildfly.bootable.jar.classifierAlias: bootable-jar-install-artifact-classifier |
<bootableJarName> |
String |
5.0 |
When bootable-jar is set to true, use this parameter to name the generated jar file. Note that since 5.1 the default name changed from Default: ${project.artifactId}-bootable.jarUser Property: wildfly.bootable.jar.nameAlias: bootable-jar-name |
<channels> |
List<ChannelConfiguration> |
- |
A list of channels used for resolving artifacts while provisioning. Defining a channel: <channels>
<channel>
<manifest>
<groupId>org.wildfly.channels</groupId>
<artifactId>wildfly-30.0</artifactId>
</manifest>
</channel>
<channel>
<manifest>
<url>https://example.example.org/channel/30</url>
</manifest>
</channel>
</channels>
The -Dwildfly.channels="https://channels.example.org/30"
-Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30"
-Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30:1.0.2"
User Property: wildfly.channelsAlias: channels |
<discoverProvisioningInfo> |
GlowConfig |
5.0 |
Galleon provisioning info discovery. By enabling this feature, the set of Galleon feature-packs and layers are automatically discovered by scanning the deployed application. You can configure the following items:
<discover-provisioning-info>
<context>cloud</context>
<profile>ha</profile>
<addOns>
<addOn>wildfly-cli</addOn>
<addOn>openapi</addOn>
</addOns>
<layersForJndi>
<layer>mail</layer>
</layersForJndi>
</discover-provisioning-info>
Alias: discover-provisioning-info |
<dryRun> |
boolean |
5.0 |
Do not actually provision a server but generate the Galleon provisioning configuration in target/.wildfly-maven-plugin-provisioning.xml file.Alias: dry-run |
<excludedDependencies> |
Set<String> |
5.1 |
A list of the dependencies to exclude as deployments. The pattern is <excluded-dependencies>
<excluded>!org.wildfly.examples:*test*</excluded>
<excluded>::jar</excluded>
</excluded-dependencies>
User Property: wildfly.excluded.dependenciesAlias: excluded-dependencies |
<excludedDependencyScope> |
String |
- |
Defines the scope of the dependencies to be excluded as deployments. This will deploy all dependencies not defined in the scope to the packaged server. However, this does assume the dependency passes the <included-dependencies/>, <excluded-dependencies/> and <included-dependency-scope/> checks.User Property: wildfly.excluded.dependency.scopeAlias: excluded-dependency-scope |
<excludedLayers> |
List<String> |
- |
A list of Galleon layers to exclude. Can be used when feature-pack-location or feature-packs are set. Use the System property wildfly.provisioning.layers.excluded to provide a comma separated list of layers to exclude.User Property: wildfly.provisioning.layers.excludedAlias: excluded-layers |
<extraServerContentDirs> |
List<String> |
- |
A list of directories to copy content to the provisioned server. If a directory is not absolute, it has to be relative to the project base directory. Alias: extra-server-content-dirs |
<featurePacks> |
List<GalleonFeaturePack> |
- |
A list of feature-pack configurations to install, can be combined with layers. Use the System property wildfly.provisioning.feature-packs to provide a comma separated list of feature-packs.User Property: wildfly.provisioning.feature-packsAlias: feature-packs |
<filename> |
String |
- |
The file name of the application to be deployed. The User Property: wildfly.deployment.filename |
<galleonOptions> |
Map<String,String> |
- |
Arbitrary Galleon options used when provisioning the server. In case you are building a large amount of server in the same maven session, it is strongly advised to set 'jboss-fork-embedded' option to 'true' in order to fork Galleon provisioning and CLI scripts execution in dedicated processes. For example: <galleon-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
</galleon-options>
Alias: galleon-options |
<includedDependencies> |
Set<String> |
5.1 |
A list of the dependencies to include as deployments. These dependencies must be defined as dependencies in the project. The pattern is <included-dependencies>
<included>!org.wildfly.examples:*test*</included>
<included>::war</included>
<included>org.wildfly.examples</included>
</included-dependencies>
User Property: wildfly.included.dependenciesAlias: included-dependencies |
<includedDependencyScope> |
String |
- |
Defines the scope of the dependencies to be included as deployments. This will deploy all dependencies defined in the scope to the packaged server. However, this does assume the dependency passes the <included-dependencies/>, <excluded-dependencies/> and <excluded-dependency-scope/> checks.User Property: wildfly.included.dependency.scopeAlias: included-dependency-scope |
<layers> |
List<String> |
- |
A list of Galleon layers to provision. Can be used when feature-pack-location or feature-packs are set. Use the System property wildfly.provisioning.layers to provide a comma separated list of layers.User Property: wildfly.provisioning.layersAlias: layers |
<layersConfigurationFileName> |
String |
- |
The name of the configuration file generated from layers. Default value is standalone.xml. If no layers have been configured, setting this parameter is invalid.Default: standalone.xmlUser Property: wildfly.provisioning.layers.configuration.file.nameAlias: layers-configuration-file-name |
<logProvisioningTime> |
boolean |
- |
Whether to log provisioning time at the end Default: falseUser Property: wildfly.provisioning.log.timeAlias: log-provisioning-time |
<name> |
String |
- |
Specifies the name used for the deployment. When the deployment is copied to the server, it is renamed with this name. User Property: wildfly.deployment.name |
<offlineProvisioning> |
boolean |
- |
Whether to use offline mode when the plugin resolves an artifact. In offline mode the plugin will only use the local Maven repository for an artifact resolution. Default: falseUser Property: wildfly.provisioning.offlineAlias: offline-provisioning |
<overwriteProvisionedServer> |
boolean |
- |
Set to true if you want to delete the existing server referenced from the provisioningDir and provision a new one, otherwise false.Default: falseUser Property: wildfly.provisioning.overwrite-provisioned-serverAlias: overwrite-provisioned-server |
<packagingScripts> |
List<CliSession> |
- |
List of execution of CLI scripts and commands. An embedded server is started for each CLI execution. If a script file is not absolute, it has to be relative to the project base directory. CLI executions are configured in the following way: <packaging-scripts>
<packaging-script>
<scripts>
<script>../scripts/script1.cli</script>
</scripts>
<commands>
<command>/system-property=foo:add(value=bar)</command>
</commands>
<properties-files>
<property-file>my-properties.properties</property-file>
</properties-files>
<java-opts>
<java-opt>-Xmx256m</java-opt>
</java-opts>
<!-- Expressions resolved during server execution -->
<resolve-expressions>false</resolve-expressions>
</packaging-script>
</packaging-scripts>
Alias: packaging-scripts |
<provisioningDir> |
String |
- |
The path to the directory where to provision the server. Can be an absolute path or a path relative to the buildDir. By default the server is provisioned into the target/server directory.Default: serverUser Property: wildfly.provisioning.dirAlias: provisioning-dir |
<provisioningFile> |
File |
- |
The path to the provisioning.xml file to use. Note that this cannot be used with the feature-packs or configurations. If the provisioning file is not absolute, it has to be relative to the project base directory.Default: ${project.basedir}/galleon/provisioning.xmlUser Property: wildfly.provisioning.fileAlias: provisioning-file |
<recordProvisioningState> |
boolean |
- |
Whether to record provisioning state in .galleon directory. Default: falseUser Property: wildfly.provisioning.record.stateAlias: record-provisioning-state |
<runtimeName> |
String |
- |
Deprecated. use the name property instead to change the name of the deployment.
The runtime name for the deployment. When the deployment is copied to the server, it is renamed with the User Property: wildfly.deployment.runtime.nameAlias: runtime-name |
<serverConfig> |
String |
- |
The name of the server configuration to use when deploying the deployment. Defaults to 'standalone.xml'. If layers-configuration-file-name has been set, this property is ignored and the deployment is deployed inside the configuration referenced from layers-configuration-file-name. The value of this parameter is also ignored if any layers are defined. Default: standalone.xmlUser Property: wildfly.serverConfigAlias: server-config |
<skip> |
boolean |
- |
Set to true if you want the goal to be skipped, otherwise false.Default: falseUser Property: wildfly.package.skip |
<skipDeployment> |
boolean |
- |
Skip deploying the deployments after the server is provisioned (false by default).Default: falseUser Property: wildfly.package.deployment.skip |
<stability> |
String |
5.1.3.Final |
Defines the stability level used for <packagingScripts/>. Please note that when you define a stability level less than the default for the server you're using, you must define the --stability argument when booting the JAR.User Property: wildfly.stability |
<stdout> |
String |
- |
Indicates how stdout and stderr should be handled for the spawned CLI processes. Note that stderr will be redirected to stdout if the value is defined unless the value is none.
By default stdout and stderr are inherited from the current process. You can change the setting to one of the follow:
Default: System.outUser Property: wildfly.stdout |
Parameter Details
<bootableJar>
Note that the produced fat JAR is ignored when running the dev,image,start or run goals.
- Type:
boolean - Since:
5.0 - Required:
No - User Property:
wildfly.bootable.jar - Alias:
bootable-jar
<bootableJarInstallArtifactClassifier>
bootable-jar is set to true, the bootable JAR artifact is attached to the project with the classifier 'bootable'. Use this parameter to configure the classifier.
- Type:
java.lang.String - Since:
5.0 - Required:
No - User Property:
wildfly.bootable.jar.classifier - Default:
bootable - Alias:
bootable-jar-install-artifact-classifier
<bootableJarName>
bootable-jar is set to true, use this parameter to name the generated jar file.
Note that since 5.1 the default name changed from server-bootable.jar to ${project.artifactId-bootable.jar}.
- Type:
java.lang.String - Since:
5.0 - Required:
No - User Property:
wildfly.bootable.jar.name - Default:
${project.artifactId}-bootable.jar - Alias:
bootable-jar-name
<channels>
Defining a channel:
<channels>
<channel>
<manifest>
<groupId>org.wildfly.channels</groupId>
<artifactId>wildfly-30.0</artifactId>
</manifest>
</channel>
<channel>
<manifest>
<url>https://example.example.org/channel/30</url>
</manifest>
</channel>
</channels>
The wildfly.channels property can be used pass a comma delimited string for the channels. The channel can be a URL or a Maven GAV. If a Maven GAV is used, the groupId and artifactId are required.
Examples:
-Dwildfly.channels="https://channels.example.org/30"
-Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30"
-Dwildfly.channels="https://channels.example.org/30,org.example.channel:updates-30:1.0.2"
- Type:
java.util.List<org.wildfly.plugin.provision.ChannelConfiguration> - Required:
No - User Property:
wildfly.channels - Alias:
channels
<discoverProvisioningInfo>
By enabling this feature, the set of Galleon feature-packs and layers are automatically discovered by scanning the deployed application. You can configure the following items:
- addOns: List of addOn to enable. An addOn brings extra galleon layers to the provisioning (eg:
wildfly-clito include CLI. - context:
bare-metalorcloud. Default tobare-metal. Note that if the context is set tocloudand the plugin optionbootable-jaris set, the plugin execution will abort. - failsOnError: true|false. If errors are detected (missing datasource, missing messaging broker, ambiguous JNDI call, provisioning is aborted. Default to
false - layersForJndi: List of Galleon layers required by some JNDI calls located in your application.
- preview:
true|false. Use preview feature-packs. Default tofalse. - profile:
ha. Default being non ha server configuration. - suggest:
true|false. Display addOns that you can use to enhance discovered provisioning configuration. Default tofalse. - excludedArchives: List of archives contained in the deployment to exclude when scanning. Wildcards (
*) are allowed. N.B. Just the name of the archive is matched, do not attempt to specify a full path within the jar. The following examples would be valid exclusions:my-jar.jar,*-internal.rar. - verbose:
true|false. Display more information. The set of rules that selected Galleon layers are printed. Default tofalse. - version: server version. Default being the latest released version.
- ignoreDeployment: The deployment will be not analyzed. A server based on the configured add-ons and the default base layer is provisioned. Default to
false. - spaces: List of spaces to enable. A space brings extra galleon feature-packs to the provisioning (eg:
incubatingto include the feature-packs that are in the incubating state.
<discover-provisioning-info>
<context>cloud</context>
<profile>ha</profile>
<addOns>
<addOn>wildfly-cli</addOn>
<addOn>openapi</addOn>
</addOns>
<layersForJndi>
<layer>mail</layer>
</layersForJndi>
</discover-provisioning-info>
- Type:
org.wildfly.plugin.provision.GlowConfig - Since:
5.0 - Required:
No - Alias:
discover-provisioning-info
<dryRun>
target/.wildfly-maven-plugin-provisioning.xml file.
- Type:
boolean - Since:
5.0 - Required:
No - Alias:
dry-run
<excludedDependencies>
The pattern is groupId:artifactId:type:classifier:version. Each type may be left blank. A pattern can be prefixed with a ! to negatively match the pattern. Note that it is best practice to place negative checks first.
<excluded-dependencies>
<excluded>!org.wildfly.examples:*test*</excluded>
<excluded>::jar</excluded>
</excluded-dependencies>
- Type:
java.util.Set<java.lang.String> - Since:
5.1 - Required:
No - User Property:
wildfly.excluded.dependencies - Alias:
excluded-dependencies
<excludedDependencyScope>
<included-dependencies/>, <excluded-dependencies/> and <included-dependency-scope/> checks.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.excluded.dependency.scope - Alias:
excluded-dependency-scope
<excludedLayers>
wildfly.provisioning.layers.excluded to provide a comma separated list of layers to exclude.
- Type:
java.util.List<java.lang.String> - Required:
No - User Property:
wildfly.provisioning.layers.excluded - Alias:
excluded-layers
<extraServerContentDirs>
- Type:
java.util.List<java.lang.String> - Required:
No - Alias:
extra-server-content-dirs
<featurePacks>
wildfly.provisioning.feature-packs to provide a comma separated list of feature-packs.
- Type:
java.util.List<org.jboss.galleon.api.GalleonFeaturePack> - Required:
No - User Property:
wildfly.provisioning.feature-packs - Alias:
feature-packs
<filename>
The filename property does have a default of ${project.build.finalName}.${project.packaging}. The default value is not injected as it normally would be due to packaging types like ejb that result in a file with a .jar extension rather than an .ejb extension.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.deployment.filename
<galleonOptions>
<galleon-options>
<jboss-fork-embedded>true</jboss-fork-embedded>
</galleon-options>
- Type:
java.util.Map<java.lang.String, java.lang.String> - Required:
No - Alias:
galleon-options
<includedDependencies>
The pattern is groupId:artifactId:type:classifier:version. Each type may be left blank. A pattern can be prefixed with a ! to negatively match the pattern. Note that it is best practice to place negative checks first.
<included-dependencies>
<included>!org.wildfly.examples:*test*</included>
<included>::war</included>
<included>org.wildfly.examples</included>
</included-dependencies>
- Type:
java.util.Set<java.lang.String> - Since:
5.1 - Required:
No - User Property:
wildfly.included.dependencies - Alias:
included-dependencies
<includedDependencyScope>
<included-dependencies/>, <excluded-dependencies/> and <excluded-dependency-scope/> checks.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.included.dependency.scope - Alias:
included-dependency-scope
<layers>
wildfly.provisioning.layers to provide a comma separated list of layers.
- Type:
java.util.List<java.lang.String> - Required:
No - User Property:
wildfly.provisioning.layers - Alias:
layers
<layersConfigurationFileName>
standalone.xml. If no layers have been configured, setting this parameter is invalid.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.provisioning.layers.configuration.file.name - Default:
standalone.xml - Alias:
layers-configuration-file-name
<logProvisioningTime>
- Type:
boolean - Required:
No - User Property:
wildfly.provisioning.log.time - Default:
false - Alias:
log-provisioning-time
<name>
When the deployment is copied to the server, it is renamed with this name.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.deployment.name
<offlineProvisioning>
- Type:
boolean - Required:
No - User Property:
wildfly.provisioning.offline - Default:
false - Alias:
offline-provisioning
<overwriteProvisionedServer>
true if you want to delete the existing server referenced from the provisioningDir and provision a new one, otherwise false.
- Type:
boolean - Required:
No - User Property:
wildfly.provisioning.overwrite-provisioned-server - Default:
false - Alias:
overwrite-provisioned-server
<packagingScripts>
<packaging-scripts>
<packaging-script>
<scripts>
<script>../scripts/script1.cli</script>
</scripts>
<commands>
<command>/system-property=foo:add(value=bar)</command>
</commands>
<properties-files>
<property-file>my-properties.properties</property-file>
</properties-files>
<java-opts>
<java-opt>-Xmx256m</java-opt>
</java-opts>
<!-- Expressions resolved during server execution -->
<resolve-expressions>false</resolve-expressions>
</packaging-script>
</packaging-scripts>
- Type:
java.util.List<org.wildfly.plugin.cli.CliSession> - Required:
No - Alias:
packaging-scripts
<provisioningDir>
target/server directory.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.provisioning.dir - Default:
server - Alias:
provisioning-dir
<provisioningFile>
provisioning.xml file to use. Note that this cannot be used with the feature-packs or configurations. If the provisioning file is not absolute, it has to be relative to the project base directory.
- Type:
java.io.File - Required:
No - User Property:
wildfly.provisioning.file - Default:
${project.basedir}/galleon/provisioning.xml - Alias:
provisioning-file
<recordProvisioningState>
- Type:
boolean - Required:
No - User Property:
wildfly.provisioning.record.state - Default:
false - Alias:
record-provisioning-state
<runtimeName>
use the
name property instead to change the name of the deployment.
When the deployment is copied to the server, it is renamed with the runtime-name. If both name and runtime-name are specified, runtime-name is used.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.deployment.runtime.name - Alias:
runtime-name
<serverConfig>
layers-configuration-file-name has been set, this property is ignored and the deployment is deployed inside the configuration referenced from layers-configuration-file-name.
The value of this parameter is also ignored if any layers are defined.
- Type:
java.lang.String - Required:
No - User Property:
wildfly.serverConfig - Default:
standalone.xml - Alias:
server-config
<skip>
true if you want the goal to be skipped, otherwise false.
- Type:
boolean - Required:
No - User Property:
wildfly.package.skip - Default:
false
<skipDeployment>
false by default).
- Type:
boolean - Required:
No - User Property:
wildfly.package.deployment.skip - Default:
false
<stability>
<packagingScripts/>. Please note that when you define a stability level less than the default for the server you're using, you must define the --stability argument when booting the JAR.
- Type:
java.lang.String - Since:
5.1.3.Final - Required:
No - User Property:
wildfly.stability
<stdout>
stdout and stderr should be handled for the spawned CLI processes. Note that stderr will be redirected to stdout if the value is defined unless the value is none.
stdout and stderr are inherited from the current process. You can change the setting to one of the follow:
noneindicates thestdoutandstderrstream should not be consumedSystem.outorSystem.errto redirect to the current processes (use this option if you see odd behavior from maven with the default value)- Any other value is assumed to be the path to a file and the
stdoutandstderrwill be written there
- Type:
java.lang.String - Required:
No - User Property:
wildfly.stdout - Default:
System.out