Maven 3.3.1 ECLIPSE: -Dmaven.multiModuleProjectDirectory системное свойство не установлено


86

Я только что установил Maven 3.3.1 в Mac OS X, и создание Maven Project с Eclipse дает мне эту ошибку:

-Dmaven.multiModuleProjectDirectory system property is not set.
Check $M2_HOME environment variable and mvn script match.

Раньше с Maven 3.2.5 этого не происходило.

Есть ли способ исправить это (кроме перехода на версию 3.2.5)?

Где именно я могу установить это свойство multiModuleProjectDirectory в Eclipse?


3
Это была ошибка m2e, зарегистрированная 24 марта 2015 г., и с тех пор она исправлена. См. Stackoverflow.com/a/29735560/751158.
ziesemer

Ответы:


191

В Eclipseвам нужно идти , как это.

Window-> Preference -> Java -> Installed JREs -> Edit

В редактировании Default VM argumentsнужно поставить

Если вы уже установили maven home.

-Dmaven.multiModuleProjectDirectory=$M2_HOME

Я не знаю почему, но когда вы запустите опцию maven, например clean в Eclipse, она покажет, что это необходимо.
Диего Макарио

5
@atamanroman и все такое - по состоянию на 24 марта 2015 года это была зарегистрированная ошибка m2e, и с тех пор она исправлена. См. Stackoverflow.com/a/29735560/751158 .
ziesemer

Вы также можете добавить аргументы виртуальной машины из Run Configuration -> Maven Build. Выберите конфигурацию запуска и откройте вкладку JRE. Добавьте -Dmaven.multiModuleProjectDirectory=$M2_HOMEв текстовое поле аргументов виртуальной машины.
Bogie

Я следил за решением, и все же я видел ту же ошибку. Это произошло потому, что проект maven имел ссылку на jre 1.7, но JAVA_HOME был установлен на jre1.8. Создание проекта Maven для указания на jre 1.8 в configure Build path-> java build путь решил проблему.
Shubha S

21

В IntelliJ вы можете установить эту опцию в поле VM Options, которое вы можете найти в следующем окне конфигурации:

Настройки / Сборка, выполнение, развертывание / Инструменты сборки / Maven / Runner

введите описание изображения здесь


Также он работает для IntelliJ Idea 14.0 с Maven 3.3.9
Dreamcatcher

17

Это было зарегистрировано как ошибка m2e в Eclipse по адресу https://bugs.eclipse.org/bugs/show_bug.cgi?id=462944 из-за изменений в Maven 3.3.1.

Это исправлено в m2e 1.5.2 от 13 апреля 2015 года. Это доступный выпуск, который можно установить с http://download.eclipse.org/technology/m2e/releases/ .

(Больше не требуется изменять аргументы JVM для всего рабочего пространства или для определенных конфигураций запуска.)


1
Я получаю: An error occurred while collecting items to be installed session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). No repository found containing: osgi.bundle,org.aspectj.runtime.source,1.7.0.20120703164200 No repository found containing: osgi.bundle,org.eclipse.contribution.weaving.jdt.source,2.2.0.e37x-RELEASE-20120704-0900 + другие
Mykel Alvis

Последняя версия 1.5.X должна быть здесь: download.eclipse.org/technology/m2e/milestones/1.5
cyfur01

7

Определите это в параметрах JVM:

-Dmaven.multiModuleProjectDirectory=HOME_PATH_OF_YOU_PROJECT

1
Где именно я могу установить параметры JVM проекта в Eclipse?
Боб

1
PROJECT_DIR имеет больше смысла, чем M2_HOME.
atamanroman

1
эта переменная не существует - на самом деле вы пытались сослаться на $ PROJECT_LOC
specializt

3

Если у вас есть это сообщение об ошибке в командной строке, проверьте, указывает ли ваша переменная PATH на ту же apache-maven-3.X.X/binпапку установки maven, что и ваша переменная M2_HOME. В моем случае я перепутал две версии, что привело к этой ошибке.


2

перейдите к запуску конфигурации, создайте новую maven buildконфигурацию запуска, где на первой вкладке вы заполните базовый каталог и цель, затем перейдите jre tabи добавьте в vm argsэту конфигурацию:

-Dmaven.multiModuleProjectDirectory=%M2_HOME%

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


2

Если вы хотите попробовать второй способ, вы можете попробовать загрузить путь с http://download.eclipse.org/technology/m2e/milestones/1.5/ .

Откройте Справку> установите новое программное обеспечение и загрузите его по указанному выше адресу. Таким образом я решил мою проблему.



0

У меня была такая же проблема с intelliJ 14, я пробовал разные решения, представленные на форумах, но не сработал. Я полностью удалил intellij, установил intellij 15.0.1 и импортировал тот же проект, после чего все работает нормально.


0

Чтобы установить maven.multiModuleProjectDirectoryсвойство на постоянной основе в Maven, я добавил активированный профиль по умолчанию, который инициализирует свойство с помощью переменной среды MAVEN_HOME в settings.xmlфайле. Или вы также можете использовать переменную среды M2_HOME .

<profile>
    <id>my-profile</id>
    <properties>
            <maven.multiModuleProjectDirectory>${env.MAVEN_HOME}</maven.multiModuleProjectDirectory>
    </properties>
</profile>
<activeProfiles>
    <activeProfile>my-profile</activeProfile>
</activeProfiles>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.