diff -Naur a/usr/bin/jvisualvm b/usr/bin/jvisualvm --- a/usr/bin/jvisualvm 2012-05-26 01:40:18.618118394 +0400 +++ b/usr/bin/jvisualvm 2012-05-26 02:25:46.406070566 +0400 @@ -9,13 +9,15 @@ APPNAME=visualvm BASEDIR=/usr/lib/visualvm -jdkhome= -for j in for j in /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun; do - if [ -x $j/bin/javac ]; then - jdkhome=$j - break - fi -done +jdkhome=$(update-alternatives --query javac | grep ^Value: | sed 's/.* \(.*\)\/bin\/javac/\1/') +if [ ! -x "$jdkhome/bin/javac" ]; then + for j in /usr/lib/jvm/java-*7*-* /usr/lib/jvm/java-*6*-*; do + if [ -x "$j/bin/javac" ]; then + jdkhome=$j + break + fi + done +fi if [ -z "$jdkhome" ]; then echo >&2 "No jdkhome found" exit 1