Я собираю проект в Eclipse, используя m2eclipse. Я установил путь JDK в Eclipse следующим образом:
Windows-->preferences-->installed jres--> jdk1.7.xx path
Но это показывает ошибку
[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
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Ответы:
Кроме того, вам, возможно, придется изменить Maven JRE (см. Ответ @ jlars62) следующим образом. Перейдите в Run -> Run Configurations, выбрав Maven Build I, из которого я работал (с левой панели). Затем я щелкнул вкладку JRE и выбрал опцию JRE рабочей области по умолчанию
источник
Для меня это именно то, на что жалуется девица затмения
Итак, я нажимаю
Edit
кнопку и меняю путь к папке JDK, затем очищаю проект и все начинает работатьисточник
Installed JREs
вместо папки jdk должна быть размещена папка. Но это действительно решило мне проблему. СпасибоJAVA_HOME
переменной среды корневую папку JDK - требуется, если вы запускаете командную строку или maven (mvn
).JAVA_HOME
получения дополнительной информации)источник
Для меня ничего не работало, пока я не сделал это изменение в моем pom.xml:
Другие заметки
Я мог видеть, что m2e выполнялся в JRE, а не в JDK. Я ничего не изменил, включая добавление в eclipse.ini:
В конце концов я никогда не получал m2e для выполнения в JDK, но настройка Java-компилятора явно (как выше) сделала свое дело.
источник
В моем случае это было решено с помощью этого:
Перейдите к «Конфигурации времени выполнения» и настройте JRE на JDK.
Я скопировал ответ на всякий случай, если он по какой-то причине удален, но источник здесь
источник
Я получал эту ошибку при попытке сделать maven-сборку из затмения.
Для меня ответ собирался
Run
->Run Configurations
, выбравMaven Build
запущенный мной (из левой панели). Затем я нажал наJRE
вкладку и выбрал опциюWorkspace default JRE
источник
может быть, JRE уже добавлен
и найдите JDK в моем случае путь был
C:\Program Files\Java\jdk1.8.0_111
вы увидите такое окно
И вы сделали.
источник
У меня такая же проблема , и я просто добавить
JAVA_HOME
в переменные окружения .JAVA_HOME
открытой командной строки из каталога проекта и запускаmvn clean install
(не используйте терминал intellij).источник
Я попробовал все вышеперечисленное, однако, все еще получая то же самое сообщение об ошибке.
В моем случае фактическая JRE неправильно использовалась в качестве JRE System Library в пути сборки конкретного проекта, который явно переопределял все остальные параметры, обсуждаемые здесь.
Если это так в вашем случае, попробуйте следующее:
источник
<build> <sourceDirectory>flockWebclient</sourceDirectory> <resources> <resource> <directory>resources</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
в свой pom.xmlАльтернативой, если ответ jaipster не работает, является переход к:
Window> Preferences> Java> Установленные JRE
Затем отредактируйте jre так, чтобы он указывал на jdk, а не на jre (jre home хранится в редакторе пакетов jre)
Это сработало для меня.
источник
Если вы запускаете
Maven
команду изcmd
, убедитесь, что вы установили путь jdk перед запуском команды. В моем случае я создал.bat
файл, содержащий следующее:источник
Я столкнулся с той же проблемой при попытке создать JAR-файл из моего приложения проекта
mvn clean install
, хотя приложение работало нормально при запуске из Eclipse.Проблема была, действительно, слишком наивной, что я не установил переменную среды JAVA_HOME . Все, что мне нужно было сделать, это установить переменную окружения JAVA_HOME в каталог JDK, убедиться, что это не до "\ bin" и без точки с запятой ";" ,
Как я понял это как:
Приложение отлично работало в Eclipse, поскольку JRE System Library ссылалась на JRE внутри папки JDK вместо внешней папки JRE без JDK. [Как хорошо объяснено в других ответах]
Эта конфигурация не применяется к команде maven, которую мы запускаем в командной строке. Он по-прежнему будет искать переменную JAVA_HOME для доступа к системной библиотеке JRE, а когда она не найдена, она ссылается на внешнюю папку JRE без JDK.
источник
Есть несколько вариантов для указания.
Шаги: Прямо в проекте в проводнике проекта. Выберите «Выполнить» -> «Выполнить настройку» -> нажмите «Сборка Maven» -> щелкните конфигурацию сборки / или создайте новую конфигурацию. Вы увидите окно как данный снимок ниже, нажмите на вкладку JRE там.
Вы видите, что у вас есть 3 варианта 1) JRE рабочей области по умолчанию 2) Среда выполнения 3) Альтернативная JRE 1) JRE рабочей области по умолчанию устанавливается из меню «Окно» вверху -> Настройки -> Java -> Установленные JRE - Здесь вы можете добавить свои JDK 2) Среда выполнения JDK может быть установлен в pom.xml, как упомянуто @ksnortum
3) Альтернативный JRE может быть использован для выбора JDK из вашего каталога
источник
Для меня JRE был в переменной среды PATH до пути JDK
Поэтому я удалил 1. Вероятно, обмен их тоже исправит.
источник
Мой ответ относится к Eclipse в среде Windows.
Я пошел в Настройки -> Java -> Установленные JRE, я НЕ видел JDK здесь. Я видел только JRE здесь. Поэтому я добавил JDK, а затем снял отметку с JRE. Затем проверил JDK. Затем я запустил POM-файл, используя Run Configurations. Выберите вкладку JRE и выберите опцию «Рабочая область по умолчанию ...» Вот изображения
источник
Постановка проблемы = Компилятор в этой среде не предусмотрен. Возможно, вы работаете на JRE, а не на JDK? IntelliJ
Решение
Пожалуйста, установите переменную среды, как показано ниже, чтобы решить проблему
Имя переменной : JAVA_HOME
Значение переменной : C: \ Program Files \ Java \ jdk1.8.0_202
Имя переменной : M2_HOME
Значение переменной : C: \ Program Files \ apache-maven-3.6.0
Кроме того , добавьте Java и путь maven в « Системные переменные », как показано ниже:
C: \ Program Files \ Java \ jdk1.8.0_202 \ bin
C: \ Program Files \ apache-maven-3.6.0 \ bin
источник
Есть другой возможный ответ на этот вопрос, и я могу быть единственным человеком, который достаточно глуп, чтобы наткнуться на это, но я думаю, что стоит добавить, поскольку ни один из других ответов не применялся, поскольку у меня уже были правильные настройки.
Когда вы устанавливаете JDK, программа установки спросит вас, куда вы хотите установить файлы. По умолчанию в Windows это что-то вроде C: \ Program Files \ Java \ jdk1.8.0_74 (или любой другой версии, которую вы устанавливаете).
Затем он запрашивает каталог для установки JRE, по умолчанию это что-то вроде C: \ Program Files \ Java \ jre1.8.0_74.
Обратите внимание, что один - jdk 1.8.0_74, а другой - jre 1.8.0_74.
Я спешил и думал, что установщик задавал мне один и тот же вопрос дважды, установив в обоих местах установки JDK и JRE значение D: \ devtools \ jdk \ jdk1.8.0_74, в результате чего установщик перезаписал JDK с помощью JRE. Это привело к (среди прочего) отсутствию javac.exe в моей корзине JDK и той же ошибке, о которой OP сообщал здесь во всех моих сборках maven.
источник
Я получил решение.
Наиболее распространенным решением этой проблемы является изменение местоположения JDK в качестве моих установленных JRE вместо местоположения JRE но это не решило мою проблему в этот раз.
Поэтому я сделал ниже, чтобы решить проблему. Разверните вкладку Установленные JRE, и вы найдете вкладку Среды выполнения .
Нажмите на вашу любимую среду исполнения. В моем случае это был JAVASE-1.8 . Там показано 2 варианта. JDK и JRE . Выберите JDK там, и проблема решена.
источник
Я просто потратил 3 часа на эту проблему, пока мне не удалось заставить ее работать. У меня была эта ошибка в Eclipse Terminal при вводе команды mvn compile:
В этой среде компилятор не предоставляется. Возможно, вы работаете на JRE, а не на JDK?
Поэтому я прочитал здесь, что мне нужно создать новую системную переменную с именем JAVA_HOME и указать ей путь к папке установки jdk. Однако это породило еще одну ошибку:
Опция источника 1.5 больше не поддерживается. Используйте 1.6 или позже
Не могу найти решение для этого, так что ...
Так что исправление, чтобы все это исчезло, это установить Java SE Development Kit 8! Я использовал 9, думая, что если это последний, то должно быть лучше ...
Тем не мение...
Установите JDK8 отсюда: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Затем определите значение среды системы JAVA_HOME - учебное пособие здесь: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/
Перезапустите Eclipse и наслаждайтесь! (по крайней мере, это то, что я сделал)
Надеясь, это избавит беднягу от неприятностей.
источник
В моем случае путь к системной переменной был расположен в папке «C: \ ProgramData \ Oracle \ Java \ javapath».
В папке "C: \ ProgramData \ Oracle \ Java \ javapath" java, только там javaw. Так что я получаю ту же ошибку.
После удаления всех файлов в папке «C: \ ProgramData \ Oracle \ Java \ javapath» моя ошибка была устранена.
источник
Я попробовал большинство ответов без успеха. То, что работало для меня, было (после следующего https://stackoverflow.com/a/21279068/2408893 ):
источник
Хотя вопрос об ошибке при
Eclipse
установке, но думал, что решение этой ошибки с установкойIntelliJ
Windows 10 также может быть полезным здесь.1 . Перейти к
File
->Settings
->Build, Execution, Deployment
->Build Tools
->Maven
->Importing
2 . Установите
JDK
дляImporter
как показано нижеJAVA_HOME
Также
JAVA_HOME
следует установитьJDK
путь в Переменные среды -> Системные переменные, а также добавить%JAVA_HOME%\bin
в путь Системные переменныеисточник
Я столкнулся с той же проблемой, ошибка, которую я сделал, я добавил путь jre только в путь var, а не путь jdk. Когда путь jdk был добавлен к пути и собрал проект maven, он работает идеально. Спасибо всем
источник
Я сделал следующее изменение, и оно сработало для меня. Надеюсь, это кому-нибудь поможет.
источник
Попробуй это.
источник
Добавить новое определение JRE (выберите путь JDK), работал для меня.
http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-add_new_jre.htm
источник
Я получал ту же ошибку, когда создавал новый экземпляр EC2 ubuntu 16.04 с уже установленной Java на нем, и во время работы пакета mvn clean я столкнулся с этой проблемой, и приведенное ниже решение сработало для меня.
Если вы работаете на сервере Ubuntu, то вы можете попробовать установить Java снова, и для этого вы можете использовать этот ответ Как установить JDK в Ubuntu Linux
источник
В Windows 7 - 64-битной системе существует проблема с разрешениями, которая не позволяет установщику распаковать файл C: \ Program Files \ Java \ jdk1.6.xx \ lib \ tools.jar в локальную папку. Этот jar-файл - то, что использует maven-compiler-plugin version 3.x вместо обычного javac
Решение: Запустите в качестве администратора установщик Java JDK! И убедитесь, что tools.jar находится в C: \ Program Files \ Java \ jdk1.6.xx \ lib \
Если вы используете плагин m2e maven для интеграции, вы хотите, чтобы файл был виден Eclipse, выполнив следующие шаги в Eclipse:
Перейдите в «Окно» -> «Настройки» -> Java -> установленные JRE. Выберите JDK, который вы используете (C: \ Program Files \ Java \ jdk1.6.xx). Нажмите «Правка», чтобы увидеть список jar-файлов, включая tools.jar, ИЛИ вы можете добавьте его как Add External JAR. Затем настройте запуск maven с помощью следующих шагов:
Выполнить-> Выполнить настройки-> Заполнить имя, базовый каталог и цели. Затем в том же окне перейдите на вкладку JRE и укажите на JDK \ jdk1.6.xx \
источник
В дополнение к ответу выше, я мог бы сказать, что просто попробуйте запустить Maven из терминала (за пределами Eclipse). Таким образом, если он собирается снаружи, но не в Eclipse, вы можете понять, что проблема должна быть в Eclipse.
источник
Есть несколько ответов на этот вопрос, но все они связаны с правильной конфигурацией пути JDK, но только с помощью JRE мы можем решить эту проблему.
Нам просто нужно использовать сборку развертывания, чтобы настроить путь к упакованному файлу war проекта Java EE, а затем повторно запустить maven-install.
Шаги для использования сборки развертывания:
Щелкните правой кнопкой мыши по проекту Jave EE -> выберите Свойства -> щелкните Сборка развертывания.
Нажмите кнопку «Добавить» -> нажмите «Архивы» из файловой системы -> нажмите «Далее» -> нажмите «Добавить» -> перейдите в каталог .m2 \ respository и найдите созданный файл войны -> выберите файл войны -> Нажмите кнопку Открыть -> Нажмите Применить -> ОК
Щелкните правой кнопкой мыши на проекте -> Нажмите на Maven Install в разделе «Запуск от имени».
Это создаст ваш проект успешно, без каких-либо ошибок компилятора.
Надеюсь, что это решит проблему без JDK.
источник