Key

The lifecycle mapping to use in a POM launching the IzPack Maven plugin depends on your needs.

In common, there are the following mappings are useful with izpack-maven-plugin:

pomThis is a standard lifecycle mapping in Maven, intended for just grouping several submodules, but almost not doing any job. The izpack-maven-plugin must be explicitly launched in a phase of your choice.

izpack-jarThis is a new mapping coming with IzPack 5.0, reducing the complexity of a POM launching the izpack-maven-plugin.It acts similar than behaves like the jar lifecycle mapping in Maven except it replaces that rather than launching the maven-jar-plugin in the phase package by launching package phase, it launches the izpack-maven-plugin, instead. This can be used as a snap-in for building installer jars instead of compiled jars from Java code, especially combined with the features for attaching an IzPack installer a direct or classified Maven artifact to the project.The izpack-jar packaging type cannot be used in a module compiling Java source code into a Jar file, but is intended to be used in a standalone module just doing the job of assembling and building an installer. This increases the transparency of your project and using izpack-jar decreases the complexity of the POM.

For bigger projects with many modules it is a good practise to separate launching of the IzPack Maven Plugin in a separate modules or even more, having one module per application installer to be built.

For large projects, it may make sense to break the packaging into multiple installers that install different parts of the application.

Info

title

Note

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.