7

Необходимый компилятор в данной среде отсутствует. Возможно, вы используете JRE вместо JDK?

6

Вопрос по проблеме компиляции проекта в Eclipse с использованием m2eclipse:

Я компилирую проект в Eclipse, используя m2eclipse. Я указал путь к JDK в Eclipse следующим образом:

Windows → Preferences → Installed JREs → путь к jdk1.7.xx

Однако при попытке сборки появляется следующая ошибка:

[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?

Как я могу решить эту проблему?

5 ответ(ов)

1

Чтобы правильно настроить проект на использование JDK, выполните следующие шаги:

  1. Установите переменную окружения JAVA_HOME, указывающую на корневую директорию JDK. Это обязательно, если вы запускаете команды через командную строку или используете Maven (mvn). Вы можете найти дополнительную информацию о том, как установить JAVA_HOME, используя поиск Google по запросу JAVA_HOME.

  2. В свойствах проекта в разделе "Java Compiler" выберите необходимую версию JDK, если вы запускаете проект напрямую из Eclipse.

Таким образом, выполнение этих шагов поможет вам корректно настроить окружение для вашего Java-проекта.

1

Для меня ничего не сработало, пока я не внес это изменение в свой pom.xml:

<build>
...
    <plugins>
    ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <fork>true</fork>
                <executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
            </configuration>
        </plugin>
    </plugins>
</build>

Другие заметки

Я заметил, что m2e выполнялся в JRE, а не в JDK. Ничто из того, что я делал, не изменяло эту ситуацию, включая добавление следующей строки в eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe

В конечном итоге мне так и не удалось заставить m2e работать в JDK, но явная установка компилятора Java (как показано выше) решила проблему.

0

Когда я пытался выполнить сборку Maven из Eclipse, у меня возникла эта ошибка.

Решение для меня заключалось в следующем: я перешёл в меню RunRun Configurations, выбрал нужную конфигурацию Maven Build в левом панеле. Затем я кликнул по вкладке JRE и выбрал опцию Workspace default JRE.

0

Я попробовал все вышеперечисленное, но по-прежнему получаю то же сообщение об ошибке.

В моем случае в качестве библиотек JRE системы в пути сборки проекта был неправильно использован фактический JRE, который, очевидно, переопределял все остальные настройки, обсуждаемые здесь.

Если у вас аналогичная ситуация, попробуйте следующее:

  1. Откройте библиотеки, специфичные для проекта, на вкладке Java Build Path: щелкните правой кнопкой мыши на "Проект > Путь сборки > Настроить путь сборки..." и выберите вкладку "Библиотеки".
  2. Выберите запись "JRE System Library" и нажмите "Удалить".
  3. Нажмите "Добавить библиотеку...".
  4. Откроется мастер. Выберите "JRE System Library" и нажмите "Далее >".
  5. Теперь выберите правильный JDK (в моем случае "JRE по умолчанию в рабочем пространстве", который я настроил с помощью JDK).
  6. Закройте мастер, нажав "Завершить".
  7. Закройте диалоговое окно "Свойства", нажав "ОК".
0

Альтернативой, если ответ jaipster не сработал, может быть переход в раздел:

Window > Preferences > Java > Installed JREs

Затем необходимо отредактировать JRE, чтобы он указывал на JDK, а не на JRE (поле "JRE home" в редакторе пакетов JRE).

Это сработало для меня.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь