Maven использует JRE7 вместо JDK?
Window/Preferences/Java/Installed Jres
Eclipse Juno Release Window/Preferences/Java/Installed Jres
показывает два установленных Jres. jdk1.7.0_07
и jre7
.
Я получаю следующую ошибку при попытке clean
и process-classes
с помощью Maven:
Failed to execute goal org.apache.maven.plugins:maven-compiler-
plugin:2.4:compile (default-compile) on project reputation: Fatal
error compiling: tools.jar not found: C:\Program
Files\Java\jre7\..\lib\tools.jar
Я уже добавил tools.jar
качестве внешнего jar от отчаяния, но это не помогло. Почему Maven пытается использовать другой JRE
?
РЕДАКТИРОВАТЬ:
Выдержка из плагина компилятора из pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.4</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
Ответы
Ответ 1
Вам нужно установить переменную среды JAVA_HOME в каталог JDK.
EDIT:
В установленном окне настроек JREs в Eclipse удалите JRE и выберите JDK. Также убедитесь, что ваш проект настроен на использование этой библиотеки JRE (щелкните правой кнопкой мыши по "Системной библиотеке JRE" в рамках вашей структуры проекта maven в проводнике и установите ее как "среда выполнения" )
Ответ 2
Вы должны убедиться, что Maven "запускает конфигурацию..." подключен к правильной JRE. Если проект JRE верен, но неправильная конфигурация JRE неверна, вы получите эту ошибку. Чтобы исправить ошибку, перейдите в раздел Under Maven Build, выберите вкладку JRE.
Ответ 3
Чтобы настроить maven-сборки для использования правильной среды исполнения Java, вам необходимо изменить среду выполнения, используемую Maven.
1. Местоположение JRE
Чтобы настроить места JRE, загрузите окно настроек в Window\Prefences (Windows) или Eclipse\Preferences (OSX) или Edit\Preferences (Linux).
Разверните параметр Java/Installed JREs
Выберите JDK выбора или Добавьте один, если он не настроен.
![Installed JREs]()
2. Среда выполнения карты
Чтобы отобразить любую версию java на определенную установленную JRE, выберите пункт меню Java/Installed JREs/Execution.
Выберите соответствующую установку JRE по умолчанию для этой версии.
![Java Execution Environments]()
3. Запуск конфигурации
Если у вас есть определенные конфигурации запуска, вы можете изменить/создать определенные конфигурации запуска и связать конкретную среду исполнения только с этой командой.
- Для этого выберите "Run/Run Configurations"
- Выберите или создайте конфигурацию прогона.
- Выберите вкладку Environment Exec.
- Выберите подходящую среду выполнения для этой команды.
![enter image description here]()
Ответ 4
Maven 2.0.9+ поддерживает toolchains, который позволяет объявить версию JDK, необходимую для сборки.
Выдержка из соответствующего мини-гида Maven:
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>1.5</version>
<vendor>sun</vendor>
</jdk>
</toolchains>
</configuration>
</plugin>
...
</plugins>
Ответ 5
В установленном окне настроек JREs
"перейдите в подменю Среда выполнения и отметьте этот JDK как совместимый" из
Как заставить плагин Eclipse m2e использовать jdk для проекта