I'm using the v4.3.5 IzPack artifact to compile the jar files which
are copied to bin/panels when the installer is compiled like this:
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-panel-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${izpack.staging}/bin/panels</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>true</stripVersion>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeScope>system</excludeScope>
<excludeGroupIds>org.codehaus.izpack,junit</excludeGroupIds>
<!--
IMPORTANT: we don't want to copy the izpack dependency where our
application jars live
-->
</configuration>
</execution>
</executions>
</plugin>
I compile my installer like this:
<plugin>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-maven-plugin</artifactId>
<version>${izpack.plugin.version}</version>
<configuration>
<izpackBasedir>${izpack.staging}</izpackBasedir>
<installFile>${izpack.staging}/install.xml</installFile>
<installerFile>${project.build.directory}/activisor-installer.jar</installerFile>
</configuration>
<executions>
<execution>
<id>standard-installer</id>
<phase>package</phase>
<goals>
<goal>izpack</goal>
</goals>
</execution>
</executions>
</plugin>
(NB: izpack.plugin.version = 1.0-alpha-5)
All goes well when executed,
[INFO] --- izpack-maven-plugin:1.0-alpha-5:izpack (standard-installer)
@ ActiVisorInstaller ---
[DEBUG] org.codehaus.izpack:izpack-maven-plugin:jar:1.0-alpha-5:
[DEBUG] org.apache.maven:maven-plugin-api:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-project:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-settings:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-profile:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-model:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-artifact-manager:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-repository-metadata:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-plugin-registry:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-artifact:jar:2.0.6:compile
[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
[DEBUG] junit:junit:jar:3.8.2:test (scope managed from
compile) (version managed from 3.8.1)
[DEBUG] classworlds:classworlds:jar:1.1-alpha-2:compile
[DEBUG] org.apache.maven.shared:maven-filtering:jar:1.0-beta-2:compile
[DEBUG] org.apache.maven:maven-core:jar:2.0.6:compile
[DEBUG]
org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.6:compile
[DEBUG]
org.apache.maven.reporting:maven-reporting-api:jar:2.0.6:compile
[DEBUG]
org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7:compile
[DEBUG] org.apache.maven:maven-error-diagnostics:jar:2.0.6:compile
[DEBUG] commons-cli:commons-cli:jar:1.0:compile
[DEBUG] org.apache.maven:maven-plugin-descriptor:jar:2.0.6:compile
[DEBUG]
org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4:compile
[DEBUG] org.apache.maven:maven-monitor:jar:2.0.6:compile
[DEBUG] org.codehaus.plexus:plexus-interpolation:jar:1.6:compile
[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.5.6:compile
[DEBUG] org.codehaus.izpack:izpack-standalone-compiler:jar:4.2.1:compile
[DEBUG] Created new class realm
plugin>org.codehaus.izpack:izpack-maven-plugin:1.0-alpha-5
[DEBUG] Importing foreign packages into class realm
plugin>org.codehaus.izpack:izpack-maven-plugin:1.0-alpha-5
[DEBUG] Imported: < maven.api
[DEBUG] Populating class realm
plugin>org.codehaus.izpack:izpack-maven-plugin:1.0-alpha-5
[DEBUG] Included: org.codehaus.izpack:izpack-maven-plugin:jar:1.0-alpha-5
[DEBUG] Included: org.apache.maven.shared:maven-filtering:jar:1.0-beta-2
[DEBUG] Included: org.apache.maven.reporting:maven-reporting-api:jar:2.0.6
[DEBUG] Included: org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7
[DEBUG] Included: commons-cli:commons-cli:jar:1.0
[DEBUG] Included: org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4
[DEBUG] Included: org.codehaus.plexus:plexus-interpolation:jar:1.6
[DEBUG] Included: org.codehaus.plexus:plexus-utils:jar:1.5.6
[DEBUG] Included: org.codehaus.izpack:izpack-standalone-compiler:jar:4.2.1
[DEBUG] Excluded: org.apache.maven:maven-plugin-api:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-project:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-settings:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-profile:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-model:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-artifact-manager:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-repository-metadata:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-plugin-registry:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-artifact:jar:2.0.6
[DEBUG] Excluded:
org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1
[DEBUG] Excluded: junit:junit:jar:3.8.2
[DEBUG] Excluded: classworlds:classworlds:jar:1.1-alpha-2
[DEBUG] Excluded: org.apache.maven:maven-core:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-error-diagnostics:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-plugin-descriptor:jar:2.0.6
[DEBUG] Excluded: org.apache.maven:maven-monitor:jar:2.0.6
[DEBUG] Configuring mojo
org.codehaus.izpack:izpack-maven-plugin:1.0-alpha-5:izpack from plugin
realm ClassRealm[plugin>org.codehaus.izpack:izpack-maven-plugin:1.0-alpha-5,
parent: sun.misc.Launcher$AppClassLoader@6d6f0472]
[DEBUG] Configuring mojo
'org.codehaus.izpack:izpack-maven-plugin:1.0-alpha-5:izpack' with
basic configurator -->
[DEBUG] (f) attach = true
[DEBUG] (f) classpathElements =
[/home/warinner/dev/ActiVisor/ActiVisorInstaller/target/classes,
/home/warinner/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar,
/home/warinner/.m2/repository/com/rsd/fld/apifolder/5.1.1-43/apifolder-5.1.1-43.jar,
/home/warinner/.m2/repository/com/rsd/activisor/ActiVisorInstallerExtras/2.2.0/ActiVisorInstallerExtras-2.2.0.jar,
/home/warinner/.m2/repository/org/codehaus/izpack/izpack-standalone-compiler/4.3.5/izpack-standalone-compiler-4.3.5.jar,
/home/warinner/.m2/repository/com/rsd/activisor/ActiVisorCore/2.2.0/ActiVisorCore-2.2.0.jar,
/home/warinner/.m2/repository/org/springframework/spring/2.0.8/spring-2.0.8.jar,
/home/warinner/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar,
/home/warinner/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar,
/home/warinner/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar,
/home/warinner/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar,
/home/warinner/.m2/repository/org/opensymphony/quartz/quartz/1.6.1/quartz-1.6.1.jar,
/home/warinner/.m2/repository/com/rsd/activisor/SaveJDKPathPanel/2.2.0/SaveJDKPathPanel-2.2.0.jar,
/home/warinner/.m2/repository/com/rsd/RSDLicensing/2.1.1/RSDLicensing-2.1.1.jar,
/home/warinner/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar]
[DEBUG] (f) customPanelDirectory =
/home/warinner/dev/ActiVisor/ActiVisorInstaller/target/izpack
[DEBUG] (f) descriptor =
/home/warinner/dev/ActiVisor/ActiVisorInstaller/src/izpack/install.xml
[DEBUG] (f) fileExtension = jar
[DEBUG] (f) installerFile =
/home/warinner/dev/ActiVisor/ActiVisorInstaller/target/activisor-installer.jar
[DEBUG] (f) izpackBasedir =
/home/warinner/dev/ActiVisor/ActiVisorInstaller/target/staging
[DEBUG] (f) kind = standard
[DEBUG] (f) project = MavenProject:
com.rsd.activisor:ActiVisorInstaller:2.2.0 @
/home/warinner/dev/ActiVisor/ActiVisorInstaller/pom.xml
[DEBUG] (f) session = org.apache.maven.execution.MavenSession@11afd9cc
[DEBUG] -- end configuration --
[DEBUG] Added to classpath
/home/warinner/dev/ActiVisor/ActiVisorInstaller/target/izpack
[DEBUG] Added to classpath
/home/warinner/dev/ActiVisor/ActiVisorInstaller/target/classes
[DEBUG] Added to classpath
/home/warinner/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/com/rsd/fld/apifolder/5.1.1-43/apifolder-5.1.1-43.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/com/rsd/activisor/ActiVisorInstallerExtras/2.2.0/ActiVisorInstallerExtras-2.2.0.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/org/codehaus/izpack/izpack-standalone-compiler/4.3.5/izpack-standalone-compiler-4.3.5.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/com/rsd/activisor/ActiVisorCore/2.2.0/ActiVisorCore-2.2.0.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/org/springframework/spring/2.0.8/spring-2.0.8.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/org/opensymphony/quartz/quartz/1.6.1/quartz-1.6.1.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/com/rsd/activisor/SaveJDKPathPanel/2.2.0/SaveJDKPathPanel-2.2.0.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/com/rsd/RSDLicensing/2.1.1/RSDLicensing-2.1.1.jar
[DEBUG] Added to classpath
/home/warinner/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar
...
Note: customPanelDirectory points to target/izpack while izpackBasedir
= target/staging, customPanelDirectory seems to be ignored or
overridden and izpackBasedir/bin/panels is used for the location of
the custom panels jar.
However, when executing the resulting installer, I get the following
runtime error immediately after the language selection dialog:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.izforge.izpack.installer.InstallerFrame.loadPanels(Unknown
Source)
at com.izforge.izpack.installer.InstallerFrame.<init>(Unknown Source)
at com.izforge.izpack.installer.GUIInstaller.loadGUI(Unknown Source)
at com.izforge.izpack.installer.GUIInstaller.access$100(Unknown Source)
at com.izforge.izpack.installer.GUIInstaller$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:617)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: java.lang.NoClassDefFoundError:
com/izforge/izpack/adaptator/IXMLElement
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
at java.lang.Class.getDeclaredMethod(Class.java:1952)
at java.awt.Component.isCoalesceEventsOverriden(Component.java:5953)
at java.awt.Component.access$400(Component.java:175)
at java.awt.Component$3.run(Component.java:5907)
at java.awt.Component$3.run(Component.java:5905)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Component.checkCoalescing(Component.java:5904)
at java.awt.Component.<init>(Component.java:5873)
at java.awt.Container.<init>(Container.java:264)
at javax.swing.JComponent.<init>(JComponent.java:573)
at javax.swing.JPanel.<init>(JPanel.java:82)
at javax.swing.JPanel.<init>(JPanel.java:109)
at javax.swing.JPanel.<init>(JPanel.java:117)
at com.izforge.izpack.installer.IzPanel.<init>(Unknown Source)
at com.izforge.izpack.panels.SaveJDKPathPanel.<init>(SaveJDKPathPanel.java:21)
at com.izforge.izpack.panels.SaveJDKPathPanel.<init>(SaveJDKPathPanel.java:16)
... 23 more
Caused by: java.lang.ClassNotFoundException:
com.izforge.izpack.adaptator.IXMLElement
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 41 more
IXMLElement is not present in the installer jar (and not present in
the ant-built IzPack installer jar either) but the ant-built installer
jar runs fine.
Anybody have any clues about what is going wrong (presumably in the
maven build)?
Thanks in advance,
Andrew Warinner
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email