Hi,
It means the VM can't find one or more classes needed. In most cases, a jar runnable with -jar should be stand-alone, i.e. all the classes needed should be in the jar file, or be standard Java classes that are included in the Java runtime (i.e. GNU Classpath).
To check you need to unpack the jar file, using jar xvf foo.jar (unzip or winzip should also work). Then look for:
com/izforge/izpack/gui/IzPackMetalTheme.class
If it's there, something's gone wrong. If it isn't (and I expect this to be the case), the jar needs external classes. As the class isn't a standard class, the jar _must_ extend the classpath to find it. To check this, look in the jar's manifest file:
META-INF/MANIFEST.MF
There should be a Class-Path: attribute, setting up the classpath to where to find the extra classes. If there isn't the jar's bad.
If there is a Class-Path: attribute, and you've got everything it wants, then I know the problem. GNU Classpath has a bug, which means it doesn't take any notice of it. Unfortunately, there's nothing I can do to work round it in JamVM.
So for now, the easiest way to run it will be to run the classes directly from the unpacked jar file.
You can find out the main class by looking at the Main-Class attribute in the manifest.
Then, if you setup the CLASSPATH variable to point to the unpacked jar file directory, and everything else the jar needs you can run it by typing
jamvm <main.class.from.manifest>
i.e. if Main-Class: foo.bar
jamvm foo.bar
The -verbose option will print out which classes are loaded and from where.
Rob.
P.S. Where did the jar come from? Any chance you could email it to me? rob.lougher AT gmail.com.