Description
On some flavors of Linux (e.g., openSUSE), the update-alternatives system is used to configure which JVM to use.
On these systems, $JAVA_HOME can always be set to /etc/alternatives/jre.
The following simple patch would add this to the list of places to look:
Index: src/native/unix/native/location.c =================================================================== --- src/native/unix/native/location.c (revision 1189876) +++ src/native/unix/native/location.c (working copy) @@ -35,6 +35,7 @@ #elif defined(OS_LINUX) || defined(OS_SOLARIS) || defined(OS_BSD) "/usr/java", "/usr/local/java", + "/etc/alternatives/jre", #elif defined(OS_CYGWIN) "/cygdrive/c/WINNT/system32/java", #elif defined(OS_SYSV)