it-roy-ru.com

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.

72
BKK

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

Имеет 4 ступени ТОДО.

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

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

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

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

ScreentShot:

enter image description here

148
Parthasarathy B

Зайдите в Окно -> Настройки ... -> 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

35
Pradeep Vairamani

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

Я сделал 

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

А потом скомпилировано нормально

4
Hinotori

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

mvn package

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

3
BKK

Переменная 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
2
Bruno Penteado

У меня была такая же ошибка, из-за версии 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>
2
Ibo

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

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

2
matt b

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

0
Bolek

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

Щелкните правой кнопкой мыши по проекту, выберите Путь сборки -> Настроить путь сборки -> выберите вкладку Библиотеки ->, затем выберите Системная библиотека JRE [версия. иметь для меня его JavaSE-1.7] -> нажать кнопку «Изменить» -> в системе JRE Окно библиотеки выберите Среда выполнения - В раскрывающемся списке вы можете выберите JDK, указанный для меня, его JavaSE-1.7 -> рядом с этим нажатием на Кнопка Окружения -> В окне Окружение исполнения вы должны снова выберите свой Java SE для меня его JavaSE-1.7 -> просто выберите его, вы на вкладке «Совместимые JRE» будут параметры, поэтому выберите нужный JDK иметь в моем случае его jdk1.7.0_25.


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

Наконец, Maven Clean и Maven Install.

0
Indrajeet Gour

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

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

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

0
Colin McRae

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

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

0
Vogel612

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

Шаг 1: В Eclipse перейдите в Windows -> настройки

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

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

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

теперь внесите изменения и все работает нормально.

Вот скриншот

0
Ravindra

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

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

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

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

0
FunkyFeudalFox

В 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>
0
san1deep2set3hi