Назад | Перейти на главную страницу

Как узнать, на какой версии Java работают мои программы в Debian / Ubuntu?

Хотите иметь список виртуальных машин Java, запущенных в системе, и программ, на которых они размещены. В частности, какой кот использует какую версию java. Есть ли какой-нибудь инструмент командной строки, который я могу использовать в системах, подобных Debian?


В частности, для кота я нашел:

ps uax | grep tomcat

который дает полную командную строку, которая включает путь к используемому java vm, однако есть ли более ориентированный на java способ получить исчерпывающий список?

При правильной установке с помощью update-java-alternatives, вы можете найти их, выполнив:

# update-java-alternatives -l
java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-gcj-4.6 /usr/lib/jvm/java-gcj-4.6
java-gcj-4.7 /usr/lib/jvm/java-gcj-4.7
jdk1.7.0_03 7003 /usr/lib/jvm/jdk1.7.0_03

В противном случае, если устанавливается только с простой update-alternatives система, используйте:

# update-alternatives --display java

Если вы просто отбросите JRE / JDK куда-нибудь, вам придется проанализировать вывод чего-то более целевого, чем

# ps -def | grep java

Нечто подобное касаемо Tomcat. Если вы установили Tomcat с помощью репозиториев, файл /etc/default/tomcat{6,7} содержит JAVA_HOME переменная, указывающая на JRE / JDK, используемый этим экземпляром.

java -version

Также запустите файл на /etc/alternatives/java. Это покажет расположение двоичного файла.