Принуждение минимальной версии Java к запуску с «java -version: » не работает в Windows

Я хочу установить минимальную версию JVM, на которой должно работать мое приложение, до версии 1.6 или выше (т.е. 1.6+). Насколько я понимаю, это можно сделать с помощью аргумента командной строки "-version:". Я попробовал, и мне показалось, что он отлично работает под Linux, но не под Windows.

LINUX

У меня установлена ​​версия JDK 1.6.0_21 на машине Linux. Переменные среды $ JAVA_HOME и $ PATH были установлены такими, какими они должны быть.

Я выполнил следующее:

$ java -version:1.6+ -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)

$ java -version:1.5+ -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)

$ java -version:1.7+ -version
Unable to locate JRE meeting specification "1.7+"

Все казалось ожидаемым. "версия: 1.6+" и "версия: 1.5+" должны работать, потому что у меня установлен JDK 1.6.0_21, а "версия: 1.7+" не должна работать, потому что у меня не установлен JDK 1.7.

WINDOWS

У меня тот же JDK версии 1.6.0_21 установлен на компьютере с Windows (точнее, Windows 7). Переменные среды% JAVA_HOME% и% PATH% были установлены такими, какими они должны быть.

Я выполнил следующее:

$ java -version:1.6+ -version
Unable to locate JRE meeting specification "1.6+"

$ java -version:1.5+ -version
Unable to locate JRE meeting specification "1.5+"

$ java -version:1.7+ -version
Unable to locate JRE meeting specification "1.7+"

Я получал ошибку при каждом выполнении.

  • Кто-нибудь может объяснить, почему одна и та же командная строка аргумент работает на Linux, но не на Windows? Это функция или ошибка?

  • Что я могу сделать, чтобы исправить / обойти это? Насколько это возможно, я хочу, чтобы в Linux и Windows применялись одни и те же аргументы командной строки, поэтому мне не нужно указывать другой аргумент «-version:» для Linux и другой аргумент для Windows.

Спасибо.

9
задан His 21 July 2011 в 01:09
поделиться