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

Ошибка Eclipse, устанавливающая проект Maven для упражнений класса: проверьте переменную среды $M2_HOME и mvn script match

Я нашел несколько связанных с этим вопросов, но все они связаны с Intellij или Mac OS. Я нахожусь в Windows 8.1 и использую Eclipse:

Eclipse Java EE IDE для веб-разработчиков. Версия: Luna Service Release 2 (4.4.2) Идентификатор сборки: 20150219-0600

Maven 3.3.1

Я настроил параметры "Запускать как" как указано для курса, но при попытке запустить сообщение появляется следующее сообщение об ошибке

-Dmaven.multiModuleProjectDirectory система не задана. Проверьте переменную среды $M2_HOME и mvn script.

Мой вывод для mvn -version выглядит следующим образом и кажется правильным.

Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T16: 10: 27-04: 00)

Maven home: C:\Program Files\Apache Software Foundation\apache-maven-3.3.1 Java-версия: 1.7.0_75, поставщик: Oracle Корпорация

Домашняя страница Java: C:\Program Files\Java\jdk1.7.0_75\jre

Язык по умолчанию: en_CA, кодировка платформы: Cp1252

Название ОС: "windows 8.1", версия: "6.3", arch: "amd64", family: "окно"

Я совершенно новый, когда дело касается Maven и Eclipse. Любая помощь приветствуется.

4b9b3361

Ответ 1

Перейдите по ссылке: Окно → Предпочтение → Java → Установленные JRE → Редактировать При редактировании аргументов VM по умолчанию вам нужно поставить Если вы уже установили дом maven для машины Windows:

-Dmaven.multiModuleProjectDirectory=M2_HOME

И для Linux и Mac OS X:

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Если вы используете Maven 3.x, переменная называется $MAVEN_HOME

-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME

Ответ 2

Мне удалось найти решение для этого.

1) Мне пришлось запускать конфигурации и добавлять аргументы в виртуальную машину. (Run - Run Configurations - JRE Tab - аргументы VM). Введите в текстовое поле следующее:

 -Dmaven.multiModuleProjectDirectory=%M2_HOME%

Вам нужно использовать% M2_HOME% или что-то подобное, чтобы представить путь к Maven, потому что, когда я добавил свой путь к этому аргументу напрямую, он не смог его найти. Я думаю, это потому, что существует ограничение длины на аргумент. Мой путь был

C:\Program Files\Apache Software Foundation\apache-maven-3.3.1

и я получил сообщение об ошибке, что он не смог найти исполняемый файл в Program Files\Apache

2) Настройте переменную системной среды с именем M2_HOME с C:\Program Files\Apache Software Foundation\apache-maven-3.3.1

Панель управления - система и безопасность - система - расширенные системные настройки - переменные среды - системные переменные - новые

Ответ 3

Вы не одиноки в этом. Недавно я перешел на 3.3.1, и я столкнулся с этой проблемой.

Это не лучший ответ, но это, вероятно, поможет вам сегодня. Попробуйте вернуться к последнему 3.2.x. (В настоящее время 3.2.5)

У меня есть чувство, связанное с MNG-5767 и изменения, которые недавно его внесли. В обновлении m2e могут быть некоторые функции или это может иметь какое-то отношение к структуре вашего проекта maven. Без подробностей это будет трудно сказать.

Ответ 4

Обновление вашей установки m2eclipse из https://www.eclipse.org/m2e решит эту проблему.

Ответ 5

добавление ниже к аргументу VM работало для меня -Dmaven.multiModuleProjectDirectory = M2_HOME

Ответ 6

Более новая версия maven автоматически установит свойство multiModuleProjectDirectory в bin/mvn script. Это было добавлено здесь, хотя я не уверен, как работает номер версии/исправления. Вы можете искать функцию find_maven_basedir в этом файле. Если он не существует, попробуйте обновить maven.