Message-ID: <2058035744.4718.1422534841435.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_4717_815570814.1422534841435" ------=_Part_4717_815570814.1422534841435 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
IzPack can execute Java classes provided by third party developers. &nbs= p;
This can be useful to extend IzPack's functionality in a number of ways<= /p>
IzPack can display output from these classes via a ProcessPanel, or you = could create a custom (possibly hidden) panel that calls your Java code. &n= bsp;
This following example shows how to use a custom Java class with a Proce= ssPanel.
An external Java class must have a run() method with some parameters.
Note: This is not (NOT!) the run() method from= the java.lang.Runnable interface. Nor is this codified as an interface in = the IzPack javadoc. Instead, thi= s would seem to be a magic method signature that is otherwise undocumented.=
This class uses the com.izforge.izpack.panels.process.A= bstractUIProcessHandler class to log output into a calling Pr= ocessPanel. See the IzPack javadoc for details.
You will obviously need to include the standalone-compiler.jar on your c= lasspath, in order to compile your class:
If you are using maven, include the dependency izpack-panel to get = the AbstractUIProcessHandler class.
IzPack can only reference JAR files not individual class files from a Pr= ocessPanel.
NB: You should eventually use Maven to automate the compilation, packagi= ng and moving of your JAR file.
<resources> section of your i=
nstall.xml, reference an external file called "ProcessPane=
The ProcessPanel.Spec.xml file holds the = XML configuration for the external Java class you want to execute.
In the install.xml file's top level, reference the JAR file containing y= our class.
This is partially documented at:
NB: The path to the JAR is the path at *compile time*.
A good place to put this is near the <resources> definition.
In the install.xml file in the panels section, use a ProcessPanel to exe= cute your Java class.
This is partially documented in http://izpack.org/documentation/panels.html#processpanel DOES THIS NEED TO BE ADDED TO THE VER= SION 5 DOCS?
The IzPack javadoc is available in = the distribution (although apparently not online). There is an RPM for Linu= x users.