Вопрос по java – Как проверить версию JRE с помощью Java-приложения

9

я сделал приложение в JDK7, но jre6 все еще используется в маркете, и если я отправлю свой файл jar кому-то с jre6, это не будет работать, есть ли способ, которым приложение проверяет версию jre, и если это не так? Compat затем попросить пользователя обновить ..

Вотlink как сравнить версию JRE. Crazenezz
Есть возможность сделать это в пакетном режиме. Вы можете преобразовать алгоритм по ссылке, которую я привел выше, и перевести его в стиле пакетного программирования (если вы чувствуете себя комфортно, используя это). Crazenezz
@Crazenezz: есть ли способ, проверяя DOS, создавая пакетный файл Windows и Virtual Basic, это можно сделать ?? если он совпадает, то он выполнит банку ?? это может быть практически сделано, что я говорю ?? rahul

Ваш Ответ

6   ответов
0

пример которая проверяет версию и выдает исключение, если версия неверна, используяSystem.getProperty("java.version");

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded rahul
11

Ты можешь использоватьSystem.getProperty (Строковый ключ); метод с"java.version" в качестве ключа.

String version = System.getProperty("java.version");

Пример вывода:

1.6.0_30

Доступные ключи можно найти по адресуВот.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded rahul
Error: User Rate Limit Exceeded rahul
0

Используя Java Web Start, вы получаете сообщение о версии java, если она не совместима с вашим jar. Например:

<resources>
       <j2se version="1.4+"
             href="http://java.sun.com/products/autodl/j2se" />

в файле jnlp

2

static public void main(String[] arg) throws IOException
    {
        PrintStream out = System.out;
        Properties pro = System.getProperties();
        Set set = pro.entrySet();

       Iterator<Map.Entry<String , String >> itr = set.iterator();
        while(itr.hasNext())
        {
            Map.Entry ent = itr.next();
            out.println(ent.getKey() + " -> " + ent.getValue() + "\n");
        }
}

использованиеSystem.getProperty("java.version") или жеSystem.getProperty("java.runtime.version") чтобы получить установленную версию Java.
Приведенный выше фрагмент кода поможет вам узнать больше деталей, таких как имя поставщика Java, ОС и т. Д.

0

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

java.lang.UnsupportedClassVersionError: Неверный номер версии в файле .class [на java.lang.ClassLoader.defineClass1 (собственный метод)] при запуске скомпилированного файла классов Java.

По сути, вы не можете запускать файлы .class, скомпилированные с более новой версией, чем JVM.

2

System.getProperty("java.version")

Note: Он вернет текущую версию jvm, jvm, на которой выполняется этот код, если у вас есть java6 & amp; Java установлен на вашем компьютере, и вы запускаете этот код на Java 7, он покажет вам версию 7

Error: User Rate Limit Exceeded rahul
Error: User Rate Limit Exceeded rahul
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded rahul

Похожие вопросы