Ошибка Eclipse/Maven: "в этой среде компилятор не предоставляется"
Я относительный новичок в мире Java enterprise development. Java-гуру моей организации находится в бессрочном семейном отпуске, и мне было поручено поддерживать некоторые из Java-приложений, которые он разработал. Он установил Eclipse [Kepler SR1] с Maven на моем компьютере, прежде чем он ушел, и он, казалось, работал нормально.
теперь я готов развернуть свою первую модификацию и должен запустить Maven install
, но у меня возникли проблемы при получении его на работу - я получаю следующий вывод на консоль:
[ошибка] не удалось выполнить цель орг.апаш.знаток.Плагины:Мейвен-плагин компилятора:3.1:компиляции (по умолчанию-компиляции) проекта mrpapp: составление отказа
[Ошибка] компилятор не предоставляется в этой среде. Возможно, вы работаете на JRE, а не на JDK?
но я определенно am запуск JDK, а не JRE. Я дважды проверил мой $JAVA_HOME
(C:Program Files (x86)Javajdk1.7.0_60
) и тут есть javac.exe
в своем
22 ответа:
перейдите в окно → настройки → Java → установленные JREs.
и посмотрите, есть ли запись, указывающая на ваш путь JDK, и если нет, нажмите на Edit кнопка и поставить путь, который вы настроили ваш
JAVA_HOME
окружающая среда.
перейдите в окно > предпочтения > Ява > установленный jres > и проверить установленный jres. У вас должна быть запись с JDK там.
Screen_shot добавить '.jar ' для установки JRE.
Eclipse
->window
->preference
.- выберите
installed JREs
->Edit
- Добавить Внешние Банки
- выберите
tools.jar
С .- Нажмите Кнопку Готово
Я пробовал все вещи; тот, который работал для меня:
- Правой Кнопкой Мыши на проекте в Eclipse и перейдите к свойствам.
- нажмите на путь сборки Java и перейдите на вкладку библиотеки.
- проверьте, какая версия Java добавлена там; это JRE или JDK?
- Если вы используете проект Maven и хотите построить решение.
- выберите JRE добавил их и нажмите кнопку Удалить.
- Нажмите кнопку Добавить папку внешнего класса и добавить Установка JDK путем выбора из системы.
- Нажмите кнопку "Применить" и "ОК".
- Перезапустить Eclipse.
- сборка выполнена успешно.
Я также столкнулся с подобной ошибкой, когда я работал с Jdk1.8_92. Для себя я нашел инструменты.jar отсутствовал в моей папке jdk. Поскольку я работал в консоли, я не мог попробовать варианты eclipse, предложенные другими..
Я установил jdk-8u92-windows-x64. После того как я попробовал все варианты, я заметил, что инструменты.jar отсутствовал в папке jdk1.8.0_92/lib. Я скопировал инструменты.jar из моей старой версии java. Затем его удалось скомпилировать.
добавить эту конфигурацию в pom.xml
<project ...> ... <build> ... <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <fork>true</fork> <executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable> </configuration> </plugin> </plugins> </build> ... </project>
пожалуйста, проверьте, есть ли у вас следующие записи в элементе вашего pom.xml особенно jdk.версия, потому что переключение на установленную jre не исправило мне аналогичную ошибку.
<properties> <jdk.version>1.7</jdk.version> <spring.version>4.1.1.RELEASE</spring.version> <jstl.version>1.2</jstl.version> <junit.version>4.11</junit.version> </properties>
Если кто-то работает Eclipse в Ubuntu и есть эта проблема, я нашел ответ, выполнив следующие действия:
- затмение - > окно - > предпочтения.
- выберите установленные JREs - > добавить
- выберите standardVM.
- JRE home: нажмите [каталог..] кнопка.
- выберите java (моя проблема заключалась в том, что мое затмение работало с java8, а моя виртуальная машина была с java7), в моем случае java8 был установлен в usr/local/jvm/java-8-oracle.
- нажать кнопку Готово.
- затем нажмите установленную стрелку JRES, чтобы увидеть другие параметры.
- перейти к среде выполнения.
- выберите JavaSE-1.6 слева и справа (совместимый JRE) вы должны выбрать Java, который вы только что установили( в моем случае java-8-oracle). вы должны сделать это шаги с JavaSE1.8.
- Нажмите кнопку ОК и перезапустите Eclipse.
Я получал ту же ошибку при попытке выполнить сборку maven в Eclipse в недавно установленной установке Eclipse Neon (для JEE devs) в Windows 10 с установленными JDK 8 и JRE 8.
Я пытался указать инструменты.jar как внешняя библиотека, а также установка jdk как-vm в eclipse. Ни одна из этих вещей не сработала.
выбор JDK в качестве выполнения по умолчанию env, как упоминалось выше, сделал уловка..
- Eclipse - > window->preference->java->Installed JREs - >Execution Environments.
- Выберите JavaSE-1.8
- Проверьте JDK1.8 в "совместимых JREs".
текст над совместимым списком JREs в шаге 3 говорит: "JRE по умолчанию можно указать, проверив его"
Примечание: у меня также есть плагин компилятора maven, явно перечисляющий 1.8 в pom
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
когда я бежал
mvn compile
, Я получал ниже ошибки в консоли:[INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent! [INFO] Compiling 1087 source files to C:\Code\DevVNextComplete\Development_vNext\Source\JARS\target\classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? [INFO] 1 error
[разрешение]
я добавил, переменная JAVA_HOME в моей среде переменных, а затем он работал.
в моем случае, я создал конфигурацию запуска и всякий раз, когда я попытался запустить его, ошибка будет отображаться. После поиска на некоторых веб-сайтах я отредактировал конфигурацию запуска и на вкладке JRE выбрал JRE среды выполнения как "workspace default JRE", который я уже настроил, чтобы указать на мою локальную установку Java JDK (ex. C:\Program файлы (x86)\Java\jdk1.8.0_51). Это решило мою проблему. Возможно, это помогает кому-то там.
установлен JRE В моем случае я решил проблему, удалив дубликаты имен, я сохранил только один с именем: jdk.1.8.0_101
получал ту же проблему, указал java на папку bin в eclipse с помощью: windows > настройки > java > установленные JRE > удалите все существующие JRE и укажите его в папку Java bin (в основном в разделе C:\Program файлы\Java\jdk1. 8.x_xx).
затем запустите Maven install он должен работать.
- удалите старую Java (JDK/JRE) из системы( сохраните одну (последнюю) версию java), а также удалите все старые записи java jre/jdk в переменных среды PATH/CLASSPATH
- затмение->окно->предпочтения->установленный jres->добавить/редактировать JDK от последней установки
- Eclipse - > Window - > Preferences - >Installed JREs - >Execution Environment - > выберите нужную версию java слева и установите флажок справа
если вы используете maven включите следующий тег в ПОМ.xml (обновление версий по мере необходимости) внутри тега плагинов.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
- щелкните правой кнопкой мыши на eclipse project Maven - > обновить проект
для меня (на windows 10), я получал сообщение об ошибке "компилятор не предоставляется в этой среде" в командной строке Windows, когда я побежал
mvn install
. Исправление меняло переменной JAVA_HOME переменная окружения, указывающая на мой jdk (C:\Program Files\Java\jdk1.8.0_101); ранее он указывал на jre.и чтобы заставить Eclipse использовать новый jdk, я отредактировал
eclipse.ini
в моем распределении eclipse и изменил строку на-vm
доC:\Program Files\Java\jdk1.8.0_101\bin
.
проверьте версию java в pom.версия xml и jre в Eclipse->Window->Preferences - >Installed JREs. В моем случае пом.xml имеет другую версию (она имела 1.8, а eclipse-1.7). Исправление версии в pom.xml до 1.7 работал.
Если вы работаете за пределами eclipse в командном окне
убедитесь, что у вас есть правильный JAVA_HOME и что этот каталог содержит компилятор, введя следующую команду в командном окне:dir %JAVA_HOME%\bin\javac.*
1.Перейдите в Windows-- > настройки-- > Java-->установленные JREs-->среды выполнения
2.выберите версию java, которую вы используете в настоящее время в поле" среды выполнения". Так что в поле " совместимый JREs "вы можете видеть как"jre1.8.0_102[идеальный матч]"(если ваша версия java 1.8). Затем попробуйте построить с помощью maven.
Maven требует JDK для компиляции. В Eclipse вам нужно изменить / заменить JRE на путь JDK, на который указывает ваш JAVA_HOME. Перейдите в окно > предпочтения > Ява > установленный jres.
убедитесь, что Maven-компилятор-плагин в вас pom.xml имеет источник и цель версии java в вашем JAVA_HOME
http://learn-automation.com/maven-no-compiler-is-provided-in-this-environment-selenium/
чтобы проверить, что использует Maven, откройте командную строку и введите:
mvn –version
убедитесь, что JAVA_HOME относится к дому JDK, а не к JRE
На Windows:
перейдите в Свойства системы - > дополнительные настройки системы - > Дополнительно - > переменная окружения и в разделе системные переменные выберите переменную JAVA_HOME и нажмите кнопку Изменить Заполните форму следующим образом Имя переменной: JAVA_HOME Значение переменной:
на Unix:
export JAVA_HOME=<ABSOLUTE_PATH_TO_JDK>
посмотреть этой ссылке
убедитесь, что у вас есть
%JAVA_HOME%
установить путем вводаecho %JAVA_HOME%
в командной строке. Если у вас нет этого набора, вам нужно добавить свой путь Java к переменным среды Window.