Существует 2 разновидности JRE. Java VM: IBM vs Sun
Есть ли способ узнать, какую JRE я использую через java script или какую-то выданную java-команду.
Существует 2 разновидности JRE. Java VM: IBM vs Sun
Есть ли способ узнать, какую JRE я использую через java script или какую-то выданную java-команду.
System.out.println(System.getProperty("java.vendor"));
System.out.println(System.getProperty("java.vendor.url"));
System.out.println(System.getProperty("java.version"));
Sun Microsystems Inc.
http://java.sun.com/
1.6.0_11
http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
Следующая команда расскажет вам много информации о вашей версии Java, в том числе о поставщике:
java -XshowSettings:properties -version
Работает на Windows, Mac и Linux.
введите:
java -version // this will check your jre version
javac -version // this will check your java compiler version if you installed the jdk
В Linux:
java -version
В окнах:
java.exe -version
Если вам нужна дополнительная информация о jvm, вы можете вызвать исполняемый файл с параметром -XshowSettings:properties
. Он покажет много системных свойств. Эти свойства также могут быть доступны с помощью статического метода System.getProperty(String)
в классе Java. В качестве примера приведем выдержку из некоторых свойств, которые можно получить:
$ java -XshowSettings:properties -version
[...]
java.specification.version = 1.7
java.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
java.version = 1.7.0_95
[...]
Поэтому, если вам нужно получить доступ к любому из этих свойств из кода Java, вы можете использовать:
System.getProperty("java.specification.version");
System.getProperty("java.vendor");
System.getProperty("java.vendor.url");
System.getProperty("java.version");
Примите во внимание, что иногда поставщик не так разоблачает, как Oracle или IBM. Например
$ java version
"1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04) Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
HotSpot - это то, как Oracle называет свою реализацию JVM. Проверьте этот список, если поставщик не отображается с -version
Вы можете узнать текущую версию JVM из объекта свойств системы; см. javadoc для System.getProperties()
. Свойство "java.vm.vendor" дает имя поставщика JVM; например
String vendor = System.getProperty("java.vm.vendor");
(Если вы выполняете в песочнице, диспетчер безопасности может помешать вам читать системные свойства. В этом случае вам не повезло.)
Некоторые JVM сообщают номер версии, если вы используете параметр командной строки -version
, но предполагается, что вы можете запускать команды и что вы знаете имя/путь к команде java
... или эквивалент, (И это означает, что есть проблема с курицей и яйцом...)
Поскольку вы ожидаете, что узнаете, используя JS, я считаю, что вы хотите знать, что версия JRE, используемая в вашем браузере. Следовательно, вы можете включить java version tester апплет, который может точно рассказать вам версию текущего браузера.
import java.applet.*;
import java.awt.*;
public class JavaVersionDisplayApplet extends Applet
{ private Label m_labVersionVendor;
public JavaVersionDisplayApplet() //constructor
{ Color colFrameBackground = Color.pink;
this.setBackground(colFrameBackground);
m_labVersionVendor = new Label (" Java Version: " +
System.getProperty("java.version")+
" from "+System.getProperty("java.vendor"));
this.add(m_labVersionVendor);
}
}
Откройте командную строку
Version: java -version
Location: where java ( in Windows)
which java ( in Unix/Linux/Mac)
Чтобы установить Java домой в windows: Щелкните правой кнопкой мыши Мой компьютер- > Свойства- > Дополнительные параметры системы- > Переменная среды- > Системная переменная- > Новая указать имя JAVA_HOME значения как (например) c:\programfiles\jdk
Выберите путь и нажмите "Изменить", сохраните в начале как: % JAVA_HOME%\bin;... остальные настройки идут здесь
Системное свойство Java System.getProperty(...)
к "java.runtime.name"
следует обратиться, - это "java.runtime.name"
. Это будет отличать "Среду выполнения OpenJDK" и "Среду выполнения Java (TM) SE". У них обоих один и тот же поставщик - "Корпорация Oracle".
Это свойство также включено в вывод для java -version
.
У меня возникла проблема, когда мои приложения Java перестали работать, и я не смог обнаружить их. Оказалось, что моя система начала использовать 64-битную версию, а не 32-битную версию (Windows Server 2012). В окнах команда:
Javaw -version
просто вернул меня в командную строку без информации. Только когда я попытался
Javaw -Version 2>x.txt
type x.txt
что он дал мне то, что исполнялось, было 64-битной версией. Это сводилось к моей переменной среды PATH
, которая сначала находила 64-битную версию.
GitBash + Windows10 +Software, поставляемый в комплекте с собственной копией JRE:
Сделайте "GitBash Here" в папке jre/bin установленного вами программного обеспечения. Затем используйте " ./java.exe -version " INSTEAD of " java -version ", чтобы получить информацию о программной копии, а не о копии, на которую ссылается переменная среды PATH.
Получить версию при установке программного обеспечения: ./java.exe -version
[email protected] MINGW64 /c/DEV/PROG/EYE_DB/INST/jre/bin
$ ./java.exe -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Получить версию в переменной PATH: java -version
[email protected] MINGW64 /c/DEV/PROG/EYE_DB/INST/jre/bin
$ java -version
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
Что касается решения исходного вопроса и получения информации о продавце:
./java.exe -XshowSettings:properties -version ## software copy
java -XshowSettings:properties -version ## copy in PATH