I maintain the
HenPlus interface for databases. The tool is written in Java but it didn't work with non-Sun implementation of Java.
The reason was sun.misc.Signal class. It is used for trapping Ctrl+C in application. I wonder why the
GNU Classpath does not support this class. Does it mean the Sun Java is not really standarized?
I've found the workaround. I unpacked some of sun/misc/*.java files from official Sun Java sources. Fortunatelly they was published under GPL license. The trick made possible to compile the HenPlus with GCJ+ECJ, so I could change the build-time dependency to
java-gcj-compat-dev. It really worked! Even if the signal couldn't be handled with GCJ or SableVM, the application started with non-Sun Java runtime:
Hen*Plus> system-info
----------------------------------------+---------------------------------------------+
System Property Value
----------------------------------------+---------------------------------------------+
Diff. of used memory (now-before) [KB] 1.932,00
Java VM GNU libgcj 4.1.2 (Ubuntu 4.1.2-0ubuntu5)
Java Vendor Free Software Foundation, Inc.
Java Home /usr/lib/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre
[...]
I've found that the GCJ and Kaffe doesn't work with Oracle JDBC driver. I'm suprised that
SableVM works without problems. It's good to see that there is a reasonable alternative for Sun's imlementation.