The lifecycle mapping to use in a POM launching the IzPack Maven plugin depends on your needs.
In common, there are the following mappings useful with izpack-maven-plugin:
For the izpack-jar mapping is important to add the <extensions>true</extensions>. If you don't, Maven will not be able to see this as a valid packaging. See the example usage below. |
| Configuration Attribute | Value Range (Default) | Default Value | Description |
|---|---|---|---|
baseDir | string | ${project.build.directory}/staging | Base directory of compilation process |
installFile | string | ${basedir}/src/main/izpack/install.xml | Target location of the compiled installer jar |
comprFormat | default | bzip2 | default | Target compression format of the compiled installer jar |
| comprLevel | integer -1, 0..9 | -1 | Compression level of the compiled installer jar. Deactivated by default (-1) |
outputDirectory | ${project.build.directory} | Target directory containing the compiled installer jar | |
mkdirs | true | false | false | Whether to automatically create parent directories of the output file |
finalName | Name of the compiled installer jar | ||
| classifier | Not set | Classifier to add to the artifact generated. If given, the artifact is attachable. Furthermore, the output file name gets -classifier as suffix. If this is not given,it will merely be written to the output directory according to the finalName. | |
| enableAttachArtifact | true | false | true | Whether to attach the generated installer jar to the project as artifact if a classifier is specified. This has no effect if no classifier was specified. |
enableOverrideArtifact | true | false | false | Whether to override the artifact file by the generated installer jar, if no classifier is specified. This will set the artifact file to the given name based on outputDirectory + finalName or on output. This has no effect if a classifier is specified. |
autoIncludeUrl | true | false | false | Whether to automatically include project.url from Maven into the IzPack info header |
autoIncludeDevelopers | true | false | false | Whether to automatically include developer list from Maven into IzPack info header |
kind | standard | web | standard | Resulting installer type |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
...
<!-- Launch IzPack automatically -->
<packaging>izpack-jar</packaging>
<properties>
<!-- Installer variables -->
<staging.dir>${project.build.directory}/staging</staging.dir>
<info.appName>My Killer Application</info.appName>
<info.appsubpath>my-killer-app/standard</info.appsubpath>
<izpack.dir.app>${basedir}/src/main/izpack</izpack.dir.app>
<staging.dir.app>${staging.dir}/appfiles</staging.dir.app>
</properties>
...
<plugin>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<baseDir>${staging.dir.app}</baseDir>
<installFile>${izpack.dir.app}/install.xml</installFile>
<outputDirectory>${project.build.directory}</outputDirectory>
<finalName>${project.build.finalName}</finalName>
<enableOverrideArtifact>true</enableOverrideArtifact>
<mkdirs>true</mkdirs>
<autoIncludeUrl>false</autoIncludeUrl>
<autoIncludeDevelopers>false</autoIncludeDevelopers>
</configuration>
</plugin>
...
</project> |