получить эту ошибку, когда я хочу запустить скомпилированный класс java.lang.UnsupportedClassVersionError
Я использую Fedora 36 и установил java-latest-openjdk-devel (OJDK19) из репозиториев Fedora.
Я написал простой print hello world и назвал его test_for_error следующим образом:
public class test_for_error {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
затем я попытался скомпилировать и запустить с помощью команд javac и java
➤ javac test_for_error.java
➤ java test_for_error
Error: LinkageError occurred while loading main class test_for_error
java.lang.UnsupportedClassVersionError: test_for_error has been compiled by a more recent version of the Java Runtime (class file version 63.0), this version of the Java Runtime only recognizes class file versions up to 61.0
Я ожидал получить привет, мир в качестве вывода, но столкнулся с указанной выше ошибкой.
Где проблема, и как мне ее решить?
1 ответ
Итак, как упомянули друзья, я проверил/сравнил версии javac (JDK) и java (JRE), и, как вы видите, моя система использовала более старую JRE, чем та, которую я установил, и ожидал, что она будет по умолчанию.
➤ javac -version
javac 19.0.1
➤ java -version
java 17.0.5
затем я перешел на предпочтительную версию с помощью этой команды:
sudo update-alternatives --config java
источник:https://www.xmodulo.com/change-default-java-version-linux.html
поэтому я попробовал еще раз и:
➤ java test_for_error
Hello, World!