Есть ли способ определить версию Java, не видя вывода оболочки? - PullRequest
3 голосов
/ 16 июля 2009

У меня следующая проблема.

Я выполняю командную строку ОС из базы данных Oracle, которая выполняет внешний файл JAR с некоторыми параметрами. Я не вижу вывод оболочки, но могу подключиться к этому серверу с другим пользователем через ssh / ftp и читать файлы. На этом сервере есть несколько версий Java, и я хотел бы посмотреть, какой Oracle использует. Является ли это возможным?

А перед тем как начать - нет,

java -version > out.txt

не работает. Он выводит версию Java на консоль и создает пустой файл.

Ответы [ 5 ]

7 голосов
/ 16 июля 2009
System.getProperty("java.version")
7 голосов
/ 16 июля 2009

Сообщение о версии печатается в STDERR, а не в STDOUT.

Если вы используете Linux / Unix, попробуйте

java -version >& version.txt

вместо

1 голос
/ 16 июля 2009

Я предполагаю, что сервер Unix / Linux, если так, попробуйте:

java -version> out.txt 2> & 1

1 голос
/ 16 июля 2009

Странно, он печатает версию в stderr. Если консоль * nix, сделайте это:

java -version > out.txt 2>&1
1 голос
/ 16 июля 2009
robert@rm:~> java -version >  out.txt 2>&1 
robert@rm:~> cat out.txt 
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...