Bug#720142: hsqldb-utils: hsqldb utils print stack trace and exit: Cannot find main class
Package: hsqldb-utils
Version: 2.2.9+dfsg-3
Severity: important
Tags: patch
Dear Maintainer,
I tried several of the hsqldb-utils:
$ hsqldb-databasemanager
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Djava.net.preferIPv4Addresses=true
Exception in thread "main" java.lang.NoClassDefFoundError: org/hsqldb/util/DatabaseManager
Caused by: java.lang.ClassNotFoundException: org.hsqldb.util.DatabaseManager
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)
Could not find the main class: org.hsqldb.util.DatabaseManager. Program will exit.
$ hsqldb-sqltool
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Djava.net.preferIPv4Addresses=true
Exception in thread "main" java.lang.NoClassDefFoundError: org/hsqldb/util/SqlTool
Caused by: java.lang.ClassNotFoundException: org.hsqldb.util.SqlTool
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)
Could not find the main class: org.hsqldb.util.SqlTool. Program will exit.
$ hsqldb-querytool
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Djava.net.preferIPv4Addresses=true
Exception in thread "main" java.lang.NoClassDefFoundError: org/hsqldb/util/QueryTool
Caused by: java.lang.ClassNotFoundException: org.hsqldb.util.QueryTool
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)
Could not find the main class: org.hsqldb.util.QueryTool. Program will exit.
Apparently, the /usr/bin/hsqldb-* scripts include the version-specific JARs
/usr/share/java/hsqldbutil1.9.jar and /usr/share/java/hsqldb1.9.jar, but
libhsqldb-java-2.2.9+dfsg-3 in current testing installs
/usr/share/java/hsqldbutil.jar and /usr/share/java/hsqldb.jar.
Changing the classpath to include
/usr/share/java/hsqldbutil.jar:/usr/share/java/hsqldb.jar works, see the
attached trivial patch.
-- System Information:
Debian Release: jessie/sid
APT prefers testing-proposed-updates
APT policy: (500, 'testing-proposed-updates'), (500, 'testing'), (1, 'experimental'), (1, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.9-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages hsqldb-utils depends on:
ii default-jre [java2-runtime] 1:1.7-49
ii libhsqldb-java 2.2.9+dfsg-3
ii openjdk-6-jre [java2-runtime] 6b27-1.12.5-2
ii openjdk-7-jre [java2-runtime] 7u21-2.3.9-5
hsqldb-utils recommends no packages.
hsqldb-utils suggests no packages.
-- no debconf information
diff -u hsqldb-2.2.9+dfsg/debian/bin/hsqldb.in hsqldb-2.2.9+dfsg/debian/bin/hsqldb.in
--- hsqldb-2.2.9+dfsg/debian/bin/hsqldb.in
+++ hsqldb-2.2.9+dfsg/debian/bin/hsqldb.in
@@ -5 +5 @@
-exec java -cp $CLASSPATH:/usr/share/java/hsqldbutil1.9.jar:/usr/share/java/hsqldb1.9.jar:/usr/share/java/postgresql.jar:/usr/share/java/mysql.jar "org.hsqldb.util.@CLASS@" "$@"
+exec java -cp $CLASSPATH:/usr/share/java/hsqldbutil.jar:/usr/share/java/hsqldb.jar:/usr/share/java/postgresql.jar:/usr/share/java/mysql.jar "org.hsqldb.util.@CLASS@" "$@"
Reply to: