Ошибка 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. Любая помощь приветствуется.
Ответы
Ответ 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.