Я хочу установить минимальную версию 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.
Спасибо.