Я только начинаю использовать Java.Я следовал инструкциям в ответе на этот вопрос , чтобы скомпилировать и запустить мою первую программу на Java.Я только что установил JDK 11 и установил путь к C:\Program Files\Java\jdk-11\bin
.Сделав это, я смог скомпилировать свою программу, используя следующую команду:
javac HelloWorld.java
(файл называется HelloWorld.java
.)
В результате этого файлапод названием HelloWorld.class
появится в каталоге.Теперь я попытался запустить программу с помощью этой команды:
java HelloWorld
Это не работает.Я получаю следующий вывод:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Я смотрел на этот вопрос , который в сочетании с сообщением об ошибке, которое я получаю, подсказывает мне, что независимо от того, на какой Java работает моя программа, подразумеваетсядля файлов более старых версий, чем мой компилятор.
Следуя совету ответа на поставленный выше вопрос, я попытался запустить javac -target 8 HelloWorld.java
.Однако это тоже не работает.Я получаю следующее предупреждение:
warning: target release 8 conflicts with default source release 11
и HelloWorld.class
не создается.
У меня такое ощущение, что мне нужна Java Runtime Environment 11, но я не знаю, как вывозьми.Поисковые запросы типа "get JRE 11" возвращают меня на главную страницу загрузки Java , которая предлагает "версию 8".
Приложение: каталог, который я храню HelloWorld.java
in называется java
, если это имеет значение.