Подтвердить что ты не робот

Maven Не удалось найти компилятор Javac в:

Когда я пытаюсь создать военный файл, он показывает некоторую ошибку, например

[ERROR] Unable to locate the Javac Compiler in:
[ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar

Когда я делаю echo %path%, он показывает

 C:\Windows\System32;D:\name\name1\Softwares\Maven\apache-maven-3.0.4\b
in;C:\Program Files\Notepad++\;%JDK_HOME%

Когда я делаю echo %JDK_HOME%

D:\name\name\core java\software\Java\Java_1.6.0_04_win\jdk1.6.0_04\bin

Я не знаю, почему maven ссылается на jre, когда моя переменная окружения - jdk. Я также изменил установленную JRE на jdk1.6.

4b9b3361

Ответ 1

Только в настройке Eclipse

Он имеет 4 шага TODO.

Шаг 1: Щелкните правой кнопкой мыши по проекту проекта Eclipse

Шаг 2: Путь сборки Java → Библиотеки

Шаг 3: Выберите Системную библиотеку JRE → Нажмите кнопку "Изменить" → Нажмите "Установленная JREs..."

Шаг 4: отредактируйте JRE как Set JRE Home = JAVA_HOME

ScreentShot:

enter image description here

Ответ 2

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

Изменить JRE Home = JAVA_HOME или JAVA_HOME\jre

Например, если вы используете jdk1.6.0_04, который установлен в C:\Program Files, выполните следующие изменения:

C:\Program Files\Java\jdk1.6.0_04\jre или C:\Program Files\Java\jdk1.6.0_04 вместо стандартного файла, который находится в папке C:\Program Files\Java\jre7

Ответ 3

Имела ту же проблему, но в моем случае, затмение каталога указывало, что JRE был JDK. Итак, я искал этот tools.jar и был там.

Я сделал

  • Путь сборки Java → Библиотеки
  • Система JRE Либрари → Редактировать
  • Установленные JRE → нажмите на мой jdk → edit
  • Добавить внешние банки → tools.jar

И затем скомпилированный тонкий

Ответ 4

Переменная JDK_HOME должна всегда указывать на базовый каталог jdk, а не на каталог bin:

D:\name\name\core java\software\Java\Java_1.6.0_04_win\jdk1.6.0_04

Определив, исправьте свой путь

C:\Windows\System32;D:\name\name1\Softwares\Maven\apache-maven-3.0.4\bin;C:\Program Files\Notepad++\;%JDK_HOME%\bin

Ответ 5

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

mvn package

он работал нормально.

Ответ 6

Похоже, что у вас есть JDK_HOME, определяемый как пользовательская переменная, и PATH, определяемый как системная переменная, или наоборот - echo %PATH% не должен содержать нерешенных переменных, таких как ...;%JDK_HOME%.

Убедитесь, что путь %JDK_HOME%\bin находится в вашей переменной PATH, нерешен, даже если вам нужно явно указать путь.

Ответ 7

У меня была такая же ошибка, из-за версии JUNIT у меня было 3     3.8.1, и я изменился до 4.8.1.

поэтому решение

вам нужно перейти к POM и убедиться, что вы зависите, как это выглядит

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.1</version>
  <scope>test</scope>
</dependency>

Ответ 8

Я перепробовал все вышеперечисленные предложения, которые мне не помогли, но я нашел, как исправить ошибку в моем случае.

Следующие шаги позволили успешно скомпилировать проект:

В проводнике проекта щелкните проект правой кнопкой мыши и выберите "Свойства". В дереве справа перейдите к пути сборки Java. Выберите вкладку "библиотеки". Нажмите "Добавить библиотеку". Выберите системную библиотеку JRE. Нажмите кнопку "Далее. Выберите переключатель Alternate JRE. Нажмите "Установленные JRE". Выберите JRE с правильной версией. Нажмите Appy и закройте. На следующем экране нажмите Готово. В окне свойств нажмите Применить и закройте. В проводнике проекта щелкните правой кнопкой мыши свой файл pom.xml и выберите "Запуск от имени"> "Сборка Maven". В текстовом поле цели напишите "установить". Нажмите Выполнить.

Это сделало проект успешным в моем случае.

Ответ 9

В Eclipse такие действия, как импорт проектов Maven или вызов "Источники обновлений", выполняются в той же JVM, в которой работает Eclipse. Если этот JVM поступает из JRE, который не является частью JDK, не было бы компилятора Java (tools.jar).

Итак, чтобы запустить Maven из Eclipse, JRE, используемый для запуска, также должен поступать из JDK. По умолчанию Eclipse регистрирует JRE, он запускается, но его можно настроить на странице предпочтений "Окно/Предпочтения.../Java/Установленные JRE", как упоминалось выше, Parthasarathy

В качестве альтернативы вы можете указать compilerId в pom.xml, поэтому Maven не будет искать JDK при компиляции кода Java:

 <plugin>
  <artifactid>maven-compiler-plugin</artifactid>
  <configuration>
    <compilerid>eclipse</compilerid>
  </configuration>
  <dependencies>
    <dependency>
      <groupid>org.codehaus.plexus</groupid>
      <artifactid>plexus-compiler-eclipse</artifactid>
      <version>xxxx</version>
    </dependency>
  </dependencies>
</plugin>

Ответ 10

Я столкнулся с подобной проблемой, и, поскольку никто не опубликовал подход, похожий на мой, здесь я иду.

Перейдите к конфигурации запуска, которую вы хотите запустить.
Там была выбрана вкладка JRE. Отрегулируйте "Runtime JRE" там, и вы готовы к работе.

Ответ 11

Я могу решить, выполнив следующие шаги:

Щелкните правой кнопкой мыши на проекте, выберите Путь сборки → Настроить путь сборки → выберите вкладку "Библиотеки" → затем выберите JRE System Library [version you для меня его JavaSE-1.7] → нажмите кнопку "Изменить" → "В системе JRE" Окно библиотеки выберите среду выполнения. В раскрывающемся списке вы можете выберите JDK, указанный для меня, его JavaSE-1.7 → рядом с этим кликом, чтобы Кнопка "Окружающая среда" → В окне "Окна выполнения" вы должны снова выберите свой java SE для меня, его JavaSE-1.7 → просто выберите его, вы будут иметь параметры на вкладке Compatible JREs, поэтому выберите JDK, который вы хотите иметь в моем случае его jdk1.7.0_25.


Нажмите "ОК" и завершите остальные окна, выполнив соответствующие действия Ok/Finish.

Наконец, сделайте Maven Clean и Maven Install.

Ответ 12

Это зависит от версии Maven. Когда вы установите более новую версию Maven, эта ошибка не появится. Вы также можете добавить другой каталог с tools.jar file lib/tools.jar - он также решает эту проблему.

Ответ 13

Если вы выполняете все вышеперечисленные шаги, которые могут быть сбиты с толку, и наша проблема заключается только в отсутствии tools.jre, просто добавьте tools.jre, выполнив следующие шаги, и проблема будет решена.

Шаг 1: В Eclipse перейдите в Windows → Настройки

Шаг 2: Java → Установленные JRE (дважды щелкните по нему)

Шаг 3: Нажмите кнопку Изменить → Нажмите Добавить внешние JAR файлы

Шаг 4. Теперь выберите путь tools.jar

Теперь примените изменения, и они отлично работают.

Вот скриншот

Ответ 14

Хотя есть несколько ответов, не относящихся к Eclipse выше, на этот вопрос, в которых не упоминается Eclipse, они требуют изменения переменных пути. Альтернативой является использование параметра командной строки, java.home, например:

mvn package -Djava.home="C:\Program Files\Java\jdk1.8.0_161\jre"

Обратите внимание на \jre в конце - удивительная необходимость.

Ответ 15

Ни один из текущих ответов не помог мне здесь. Мы получили что-то вроде:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:
    #.#.#:compile (default-compile) on project Streaming_Test: Compilation failure
[ERROR] Unable to locate the Javac Compiler in:
[ERROR] /opt/java/J7.0/../lib/tools.jar

Это происходит потому, что установка Java определила, что это установка JRE. Предполагается, что над подкаталогом JRE будет JDK, следовательно, ../lib в пути. Наш tools.jar находится в $JAVA_HOME/lib/tools.jar, а не в $JAVA_HOME/../lib/tools.jar.

К сожалению, у нас нет возможности установить JDK в нашей ОС (не спрашивайте), так что это было невозможно. Я исправил проблему, добавив следующее в maven pom.xml:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <fork>true</fork>  <!-- not sure if this is also needed -->
      <executable>${JAVA_HOME}/bin/javac</executable>
      <!--        ^^^^^^^^^^^^^^^^^^^^^^ -->
    </configuration>
  </plugin>

Направив исполняемый файл в нужное место, мы, по крайней мере, преодолели наши ошибки компиляции.

Ответ 16

Для других, сталкивающихся с этой проблемой в Eclipse, даже при правильном пути JDK, вам нужно удалить другие JRE из установленных JRE.

Перейдите в WindowНастройкиJavaУстановленные JREs

.Выберите неиспользуемые JRE по отдельности и удалите

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

Ответ 17

Для Intellij Idea установите все правильно (аналогично этому):

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_60
JRE_HOME = JAVA_HOME\jre

и не забывайте перезапустить Idea. Эта программа захватывает переменные при запуске, поэтому любые изменения переменных среды во время работы программы не будут иметь никакого эффекта.