it-roy-ru.com

Ошибка Eclipse/Maven: "В этой среде не предусмотрен компилятор"

Я относительный новичок в мире разработки корпоративных приложений на Java. Java-гуру моей организации уволен из семьи на неопределенный срок, и мне было поручено поддерживать некоторые из разработанных им Java-приложений. Он настроил Eclipse [Kepler SR1] с Maven на моем компьютере, прежде чем он ушел, и, похоже, он работал нормально.

Теперь я готов развернуть свою первую модификацию и мне нужно запустить Maven install, но у меня возникают проблемы с его запуском - я получаю следующий вывод на моей консоли:

[ОШИБКА] Не удалось выполнить цель org.Apache.maven.plugins: maven-compiler-plugin: 3.1: compile (default-compile) в проекте mrpapp: Ошибка компиляции
[ОШИБКА] В этой среде не предусмотрен компилятор. Возможно, вы работаете на JRE, а не на JDK?

но я определенно я управляю JDK, а не JRE. Я дважды проверил свой $Java_HOME (C:\Program Files (x86)\Java\jdk1.7.0_60), и он делает имеет javac.exe в своем каталоге bin.

Я прилагаю копию моего файла pom.xml для вашего обзора. Я уверен, что есть что-то, что вызывает проблему, но я не уверен, что это может быть. Я использую ноутбук с Windows 7 64bit, если вам нужна дополнительная информация о платформе/среде, я также могу это предоставить.

Любая помощь будет оценена.

68
Ken L

Перейдите в Окно → Настройки → Java → Установленные JRE.

И посмотрите, есть ли запись, указывающая на ваш путь JDK, и если нет, нажмите кнопку Edit и укажите путь, который вы сконфигурировали для своей среды Java_HOME.

139
Jorge Campos

Screen_shotДобавить 'tools.jar' в установленную JRE.

  1. Eclipse -> window -> preference.
  2. Выберите installed JREs -> Edit
  3. Добавить внешние банки
  4. выберите tools.jar из папки Java/JDKx.x/lib.
  5. Нажмите Готово
17
sibabrata

Зайдите в Window> Preferences> Java> Установленные JRE> и проверьте установленные JRE. У вас должна быть запись с JDK там.

https://cduu.wordpress.com/2013/03/08/maven-Eclipse-compiler-error-no-compiler-is-provided-in-this-environment/

15
Gubatron

Я перепробовал все вещи; тот, который работал для меня:

  1. Щелкните правой кнопкой мыши по проекту Eclipse и перейдите к свойствам.
  2. Нажмите на Путь сборки Java и перейдите на вкладку Библиотеки.
  3. Проверьте, какая версия Java добавлена ​​туда; это JRE или JDK?
  4. Если вы используете проект Maven и хотите создать решение.
  5. Выберите JRE добавил их и нажмите удалить.
  6. Нажмите кнопку Добавить папку внешнего класса и добавьте установку JDK, выбрав Из системы.
  7. Нажмите Применить и ОК.
  8. Перезапустите Eclipse.
  9. Сборка прошла успешно.
9
Archana Prasad

Добавьте эти конфигурации в 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>
4
AnuradhaS

Я также столкнулся с подобной ошибкой, когда работал с Jdk1.8_92 . Я обнаружил, что tools.jar отсутствует в моей папке jdk . Поскольку я работал в консоли, я не мог попробовать варианты Затмение, предложенное другими ..

Я установил jdk-8u92-windows-x64. После того, как я попробовал все опции, я заметил, что tools.jar отсутствует в папке jdk1.8.0_92/lib. Я скопировал tools.jar из моей старой версии Java . Затем он смог скомпилироваться. 

3
Manish

Я получал ту же ошибку при попытке выполнить сборку maven в Eclipse во вновь установленной установке Eclipse Neon (для разработчиков JEE) в Windows 10 с установленными JDK 8 и JRE 8. 

Я попытался указать tools.jar как внешнюю библиотеку, а также установить jdk в качестве -vm в Eclipse. Ни одна из этих вещей не сработала.

Выбор JDK в качестве среды выполнения по умолчанию, как упоминалось выше, добился цели.

  1. Eclipse-> window-> preference-> Java-> Установленные JRE-> Среды выполнения.
  2. Выберите JavaSE-1.8
  3. Проверьте JDK1.8 в «Совместимых JRE».

Текст над списком совместимых JRE на шаге 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>
2
Tim

Пожалуйста, проверьте, есть ли у вас следующие записи в элементе вашего pom.xml, особенно в jdk.version, потому что переключение на установленный 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>
2
Balaji

если кто-то запускает Eclipse в Ubuntu и у меня возникла эта проблема, я нашел ответ, выполнив следующие действия: 

  1. Eclipse-> окно-> предпочтения. 
  2. Выберите установленные JRE-> Добавить 
  3. Выберите стандартный VM. 
  4. JRE home: нажмите кнопку [Directory ..]. 
  5. Выберите вашу Java (моей проблемой было то, что Eclipse работал с Java8, а мои VM были с Java7), в моем случае Java8 была установлена ​​в usr/local/jvm/Java-8-Oracle. 
  6. Нажмите Готово. 
  7. Затем нажмите установленную стрелку JRES, чтобы увидеть другие опции. 
  8. Перейти к среде исполнения. 
  9. Выберите JavaSE-1.6 слева и справа (совместимая JRE), вам нужно выбрать только что установленную Java (в моем случае Java-8-Oracle). Вы должны сделать это с JavaSE1.8. 
  10. Нажмите OK и перезапустите Eclipse. 
2
Marcelo Gomez

получал ту же проблему, указывал Java на папку bin в Eclipse, используя: windows> настройки> Java> установленные JRE> удалял все существующие JRE и указывал на папку Java bin (в основном в C:\Program Files\Java\jdk1.8.x_xx).

затем запустите maven, он должен работать.

1
Rajan Chauhan

Чтобы проверить, что использует ваш Maven, откройте командную строку и введите:

mvn –version

Убедитесь, что Java_HOME ссылается на дом JDK, а не на JRE

В Windows:

Перейдите в Свойства системы -> Расширенные настройки системы -> Дополнительно -> переменная среды и в разделе Системные переменные выберите переменную Java_HOME и нажмите кнопку Изменить Заполните форму следующим именем Имя переменной: Java_HOME Переменная значение: 

В Unix:

export Java_HOME=<ABSOLUTE_PATH_TO_JDK>

увидеть эту ссылку

1
Ucup Timposu

Установлен JRE В моем случае я решил проблему, удалив дубликаты имен, сохранил только одно с именем: jdk.1.8.0_101

1
Mohammed BOUTCHEKKOUCHT

В моем случае я создал конфигурацию запуска, и всякий раз, когда я пытался запустить ее, отображалась ошибка. После поиска на некоторых веб-сайтах я отредактировал конфигурацию запуска и на вкладке JRE выбрал JRE среды выполнения в качестве «JRE рабочей области по умолчанию», которое я уже настроил для указания на мою локальную установку Java JDK (например, C:\Program Files (x86)\Java\jdk1.8.0_51). Это решило мою проблему. Может быть, это помогает кому-то там.

1
Jatin Shashoo

Когда я запускал 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 в мои переменные окружения, и тогда это сработало.

 enter image description here

1
Vaibhav Sharma

Убедитесь, что вы установили %Java_HOME%, введя echo %Java_HOME% в командной строке. Если у вас нет этого набора, то вам нужно добавить свой путь Java в переменные среды Window. 

0
Gene

Maven требует JDK для компиляции. В Eclipse вам нужно ИЗМЕНИТЬ/ЗАМЕНИТЬ ваш JRE на путь JDK, на который указывает ваш Java_HOME. Перейдите к Окну> Предпочтения> Java> Установленные JRE.

Убедитесь, что maven-compiler-plugin в вашем pom.xml имеет источник и цель версии Java в вашем Java_HOME

http://learn-automation.com/maven-no-compiler-is-provided-in-this-environment-Selenium/

0
rnyunja

Для меня (в 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.

0
Don Smith

проверьте версию Java в pom.xml и версию jre в Eclipse-> Window-> Preferences-> Installed JRE. В моем случае pom.xml имеет другую версию (у него было 1.8, а в Eclipse - 1.7). Исправление версии в pom.xml до 1.7 сработало.

0
user3610547

если вы работаете вне Eclipse в командном окне
Убедитесь, что у вас правильный Java_HOME и что этот каталог содержит компилятор, введя в командной строке следующую команду:

dir %Java_HOME%\bin\javac.*
0
inor

1. Перейдите в Windows -> Настройки -> Java -> Установленные JRE -> Среды выполнения

2.Выберите версию Java, которую вы используете в настоящее время, в поле «Среды выполнения» . Чтобы в окне «Совместимые JRE» вы могли видеть как « jre1.8.0_102 [perfect match] "(если ваша версия Java 1.8). Затем попробуйте построить с помощью Maven. 

0
ramprakash
  1. Удалите старую Java (JDK/JRE) из системы (сохраните одну (последнюю) версию Java), а также удалите все старые записи Java jre/jdk в переменных среды PATH/CLASSPATH
  2. Eclipse-> Window-> Preferences-> Установленные JRE-> Добавить/Редактировать JDK из последней установки
  3. Eclipse-> Window-> Preferences-> Installed JREs-> Execution Environment-> Выберите желаемую версию Java слева и установите флажок справа
  4. Если вы используете maven, включите следующий тег в pom.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>
    
  5. Щелкните правой кнопкой мыши по проекту Eclipse Maven -> Обновить проект
0
Bruce

Follow: Windows -> Настройки -> Java ---> УстановленоJREs

SampleImage

Нажмите "Поиск .."

Перейдите на диск C ---> Программные файлы 

Образец изображения 2

Eclipse найдет все jre и jdk -> выберите один из jdk и выберите Apply

0
Mayur Chavan