Как проверить версию JRE перед запуском? - PullRequest
12 голосов
/ 21 октября 2008

Как лучше всего определить, достаточно ли высока версия JRE, установленная на компьютере, для приложения, которое пользователь хочет запустить? Есть ли способ сделать это, используя только java? Я бы хотел, чтобы решение работало на Windows / Linux / MacOSX - если версия JRE слишком мала, должно отображаться сообщение. В настоящее время я получаю исключение, если я пытаюсь запустить его на Java 1.5 (приложение построено для Java 1.6). Если нет универсального решения, как лучше всего это сделать в Windows?

Ответы [ 13 ]

0 голосов
/ 08 мая 2009

Я считаю, что WinRun4J работает довольно хорошо для меня (но, опять же, я могу быть предвзятым, так как я написал это :-)). Это позволяет вам указать минимальную и / или максимальную разрешенную версию Java. Если пользователь не найдет подходящую версию JRE (и сообщение настраивается), появится всплывающее окно с сообщением.

0 голосов
/ 22 октября 2008

Хм ... назовите меня скучным парнем, но что не так с использованием Launch4J или любого другого родного лаунчера, например.

Используйте встроенную программу запуска, чтобы проверить версию JVM перед тем, как запускать код. Решения только для Java (в моей книге) имеют смысл только тогда, когда вы имеете дело с разработчиками; как только вы поразите конечных пользователей, вы поймете, что они вообще не заботятся о Java или ее технических деталях. Если бы вы написали свое приложение на GW-Basic, им было бы наплевать, пока ваше приложение работает.

Если Java 1.6 не установлена, lauchner4j укажет пользователю на страницу загрузки JDK 1.6. Это, вероятно, больше подходит для вашей проблемы, чем магия в Java.

0 голосов
/ 21 октября 2008

System.getProperties () предоставляет список свойств JVM, включая различные идентификаторы версий JRE, JVM и спецификации. Это реализовано для всех версий Java, поэтому должно работать независимо от скомпилированной версии, версии запуска или реализации.

Если вы пишете базовый класс для тестирования версии, вы можете сначала вызвать его в своем классе запуска main (). Это действительно базовая функциональность, иначе вы рискуете ее сломать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...