Да, вам нужно изменить исходный код в WebDriver \ DriverService.cs в Start()
; add:
this.driverServiceProcess.StartInfo.CreateNoWindow = true;
Показанный номер версии описывает версию JRE, совместимую с файлом класса.
Сообщенные основные номера:
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
(Источник: Wikipedia )
Чтобы исправить настоящую проблему, вы должны попробовать либо запустить Java-код с более новой версией Java JRE, либо указать целевой параметр компилятору Java, чтобы дать команду компилятору создать совместимый код с более ранними версиями Java.
Например, для генерации файлов классов, совместимых с Java 1.4, используйте следующую командную строку:
javac -target 1.4 HelloWorld.java
С более новыми версиями компилятора Java вы, вероятно, получите предупреждение о том, что путь класса bootstrap не задан. Более подробную информацию об этой ошибке можно найти в сообщении в блоге Новое предупреждение javac для установки более старого источника без bootclasspath .
В меню Eclipse Окно -> Предпочтения -> Java -> Компилятор также проверяет «Настроить проект Настройки ".
Если у вас есть ошибка с той же версией Java: попробуйте вручную удалить папку сборки вашего проекта. Затем перезапустите Eclipse.
Эта ошибка означает, что вы пытаетесь загрузить файл класса «Java», который был скомпилирован с более новой версией Java, чем вы установили.
Например, ваш файл .class
мог быть скомпилирован для JDK 7, и вы пытаетесь запустить его с помощью JDK 6.
Таким образом, решение будет либо:
Для разработчиков это может произойти, если другой разработчик проверяет файл .class, и у них есть более новая версия java, чем у вас есть.
Как было сказано в другом месте несколькими людьми, Java-программа запускается на более старой версии Java, чем та, для которой она была скомпилирована. Он должен быть «скомпилирован» для обратной совместимости. Другими словами, существует несоответствие между исходными и целевыми версиями Java.
Изменение параметров в меню Eclipse не отвечает на исходный плакат, который сказал, что он / она не использует Eclipse. В OpenJDK javac версии 1.7 вы можете перекрестно скопировать для 1.6, если вы используете параметры -source
и -target
, плюс укажите rt.jar -файл целевой версии (то есть более старую) во время компиляции. Если вы действительно установите 1.6 JRE, вы можете указать на его установку (например, /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar на Ubuntu, / usr / jdk / jdk1. 6.0_60 / jre / lib / rt.jar на SunOS. Извините, я не знаю, где он находится в системе Windows). Например:
javac -source 1.6 -target 1.6 -bootclasspath /usr/lib/jvm/java-6-openjdk-i386/jre/lib/rt.jar HelloWorld.java
Похоже, вы можете просто скачать rt.jar из Интернета и указать на него. Это не слишком элегантно, хотя:
javac -source 1.6 -target 1.6 -bootclasspath ./rt.jar HelloWorld.java
Наиболее распространенной проблемой является некорректная конфигурация вашей переменной JAVA_HOME
, которая должна указывать на нужную библиотеку Java Development Kit, если у вас несколько установленных.
Чтобы найти папку SDK Java, запустите следующие команды:
jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
Чтобы проверить, какой java (openjdk) вы установили, проверьте через:
dpkg -l "openjdk*" | grep ^i
или :
update-java-alternatives -l
Чтобы изменить его, используйте:
update-alternatives --config java
Префикс с sudo
, если требуется.
, чтобы выбрать альтернативную версию java.
Или проверьте, какие доступны для установки:
apt-cache search ^openjdk
Префикс с sudo
при необходимости.
Затем вы можете установить, например:
apt-get install openjdk-7-jre
Префикс с sudo
при необходимости.
Установить / обновить соответствующий пакет с помощью:
yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
Пакет
java-1.7.0-openjdk
содержит только Java Runtime Environment. Если вы хотите разработать Java-программы, тогда установите пакетjava-1.7.0-openjdk-devel
.BSD
В коллекции портов FreeBSD имеется пакет OpenJDK 7, называемый openjdk7 , который, вероятно, необходимо переконфигурировать.
Смотрите: Страница вики OpenJDK .
Windows
Просто установите соответствующую Java SE Development Kit с сайта Oracle или установить
Jenkins
Если вы столкнулись с этой проблемой с Jenkins, см.:
Однако следует выбрать правильную версию Java (новее) с
update-alternatives
.
У меня возникла проблема, из-за которой мне приходилось запускать компиляцию Maven в моем проекте из командной строки для запуска моих модульных тестов; если я внес изменения в тестовый класс и позволю Eclipse автоматически перекомпилировать его, тогда я получил ошибку «Unsupported major.minor version 51.0».
У меня есть как JDK6, так и JDK7, но все мои JRE настройки указывали на 1.6, как на pom, так и на странице свойств проекта в Eclipse.
Наконец, я попытался закрыть проект и снова открыть его, и это, казалось, исправило это! НТН
В моем случае проблема была в конфигурации времени выполнения сервера:
Проверьте, что JRE - это необходимая версия:
Проект был в версии 1.7, а сервер JRE был установлен как 1.6, после того, как он перешел к правильной версии Java, которую он начал нормально.
У вас может быть библиотека JAR, скомпилированная в Java 7, и у вас есть только Java 6 как Java Runtime. Это может случиться с некоторыми новыми библиотеками.
Вы скомпилировали свой Java-класс с JDK 7, и вы пытаетесь запустить тот же класс на JDK 6.
Если вы столкнулись с этой проблемой при использовании Maven , вы можете скомпилировать свой код с помощью подключаемого модуля Maven Compiler .
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
.....
UPDATE: установите source
и target
на 1.8
, если вы используете JDK 8.
О Mac OS X Я смог решить эту проблему, установив переменную JAVA_HOME:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
Была ли эта проблема, когда я вернулся на Java 6 и попытался запустить классы, ранее скомпилированные с помощью Java 7. Что для меня работало, было Preferences> java> compiler -> установить уровень соответствия 1.6 и критически «настроить параметры проекта» ..
Как это исправить?
blockquote>Эта ошибка означает, что JRE, который используется для выполнения вашего кода класса, не распознает используемую версию Java. Обычно, поскольку версия Java, которая сгенерировала ваш файл класса (т.е. скомпилировала его), является более новой.
Чтобы исправить это, вы можете либо
a) Скомпилировать ваши источники Java с тем же, или более старой версии компилятора Java, который будет использоваться для его запуска. т. е. установить соответствующий JDK.
b) Скомпилировать ваши источники Java с более новой версией компилятора Java, но в режиме совместимости. т.е. используйте параметр
-target
.c) Запустите скомпилированные классы в JRE, которая является той же самой или новой версией, что и JDK, используемый для компиляции классов.
Вы может проверить версии, которые вы используете в настоящий момент с помощью
javac -version
для компилятора, иjava -version
для среды выполнения.Должен ли я установить JDK и настроить свою переменную PATH на JDK вместо JRE?
blockquote>Для компиляции, конечно же, установите и настройте конкретный JDK, который вы хотите.
Для среды исполнения вы можете использовать ту, которая поставляется с JDK или автономный JRE, но независимо от того, убедитесь, что вы установили правильные версии и что вы настроили свой PATH таким образом, чтобы не было сюрпризов.
В чем разница между переменной PATH в JRE или JDK?
blockquote>Переменная среды PATH сообщает командной оболочке, где нужно искать введенную команду. Когда вы набираете
java
, интерпретатор командной оболочки будет просматривать все местоположения, указанные в переменнойPATH
слева направо, чтобы найти исполняемый файл исполняемого файлаjava
для запуска. Если у вас есть несколько версий Java, то есть у вас есть исполняемый файлjava
в нескольких местах, указанных в переменной PATH, то первый, который встречается при движении слева направо, будет выполняться.Команда компилятора
javac
и поставляется только с JDK. Команда runtime являетсяjava
и поставляется с JDK и находится в JRE.Вероятно, у вас установлена одна версия (51.0 = Java 7)
javac
, и у вас также есть ту же версиюjava
, но другая предыдущая версияjava
появляется раньше в PATH и поэтому вызывается вместо ожидаемого.
java.lang.UnsupportedClassVersionError
происходит из-за более высокого JDK во время компиляции и более низкого JDK во время выполнения.
/etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
) на версию, используемую для компиляции с помощью javac.
– ezdazuzena
6 August 2013 в 10:30
sudo update-alternatives --config java
для этого.
– Thorbjørn Ravn Andersen
29 January 2014 в 12:06
У меня была аналогичная ситуация на Mac, и для меня работал следующий процесс:
В терминале введите
vi ~/.profile
Затем добавьте эту строку в файл и save
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home
, где версия является той, что на вашем компьютере, например 1.7.0_25
.
Выйдите из редактора, затем введите следующую команду, чтобы она стала эффективной
source ~/.profile
Затем введите java -version, чтобы проверить результат
java -version
Что такое .profile
файл?
. Файл файла является скрытым файлом. Это необязательный файл, который сообщает системе, какие команды запускаться, когда пользователь, чей файл профиля находится в нем. Например, если мое имя пользователя - bruno, и в файле / Users / bruno / содержится все .profile-файл, все его содержимое будет выполняться во время процедуры входа в систему.
Сначала давайте рассмотрим некоторые основы ...
JRE является компонентом в NetBeans / Eclipse / standalone, который предоставит вам библиотеки, JVM, плагины Java и amp; Веб-начало Java. Обратите внимание, что он не предоставляет компиляторов или отладчиков.
JDK - это надмножество JRE наряду с compliers и debuggers.
Итак, когда у вас есть библиотека по умолчанию как JRE вместо JDK, у вас будет приятное время на импорт, но он не будет компилироваться.
Вместо этого укажите свой путь к JDK (я использую NetBeans, и я установил их с помощью netbeans.conf в netbeans / etc / netbeans.conf и измените путь).