[kaffe] Can't run the eXist app. Swing missing?

Dalibor Topic robilad@kaffe.org
Sat Sep 13 05:48:01 2003


Hi Hakon,

thanks for your bug report. I've added the missing functionality in 
kaffe's class libraries, it works now if you use kaffe from CVS and the 
exist-0.9.2.tar.gz file, instead of the jar based installer. Read on for 
more details.

Hakon G wrote:
> hi!
> I have tried to install the eXist database application (hosted at Sourceforge).
> But I couldn't run it with Kaffe, when I ran $ java -jar eXist-0.9.2-install.jar - I got these error messages:
> --------------------------------
> 
> - Error -
> java.lang.InstantiationException: javax/swing/plaf/metal/DefaultMetalTheme
> java.lang.InstantiationException: javax/swing/plaf/metal/DefaultMetalTheme
> at java.lang.Class.newInstance (Class.java:431)
> at com.izforge.izpack.installer.Installer.main (source file unknown)
> at java.lang.reflect.Method.invoke0 (Method.java)
> at java.lang.reflect.Method.invoke (Method.java:255)
> at kaffe.jar.ExecJarName.main (ExecJarName.java:67)
> at kaffe.jar.ExecJar.main (ExecJar.java:75)

The izpack installer is a swing application and as such requires 
javax.swing to be implemented. Kaffe doesn't have a swing implementation 
yet.

If you're interested on helping develop a free software Swing 
implementation, get in touch with the GNU Classpath developers. They can 
be found here: http://www.gnu.org/software/classpath/classpath.html

> Now I don't know anything about Java. I assume Kaffe is missing some functionality. I don't know about this swing either. Is it a gui toolkit? It shouldn't be needed though, gui is just complementary to this application.

swing is a high-level gui toolkit that's part of the official java 1.2 
and above API specification.. Unfortunately, it's an awful lot of work 
to implement, and noone has the resources to tackle it seriously yet.

kaffe's missing some other bits of functionality, see here for the 
latest status: http://www.kaffe.org/compatibility_japitools.shtml It 
shouldn't be a problem for many applications, but for some (like the 
installer eXist chose to use) it is.

> Or can I expect it to work with a recent future release of Kaffe?

If you don't want to use code from CVS (which works fine for me ;) you 
can wait till 1.1.2 is released in a couple of weeks.

> As eXist is an open source application, I would like to be able to run it also on an open source platform like Kaffe instead of the proprietary JDK.

A screenshot of exist running on kaffe is here: 
http://www.kaffe.org/~robilad/eXist-0.9.2-screenshot.png

There are still some problems related to the default stack size setting, 
which seems to be too low for eXist, so you may get StackOverflowErrors. 
  Helmer Kraemer is working on a solution.

cheers,
dalibor topic