2015-12-12 4 views
4

Для моей настройки у меня есть профили, определенные в моем ~/.m2/settings.xml, где профили определяют некоторые репозитории, специфичные для проекта. Из командной строки я могу успешно строить проекты, используя -PprofileHere. Однако профиль не включается автоматически (то есть activeByDefault не настроен на true для профиля).Многомодульный Maven с профилем в Eclipse не решает зависимости от детей

В Eclipse 4.5.1 (Марс 1) с М2Э 1.6.2.20150902-0002, импортировать проекты с использованием Import → → MavenExisting Maven Projects. Я выбираю родительский проект, и Eclipse импортирует их. Проекты для детей импортируются, но, как и ожидалось, их зависимости неправильно решены. Чтобы исправить это, я выбираю родительский проект, щелкните правой кнопкой мыши MavenSelect Maven Profiles... и выберите правильный профиль для родителя. Я тогда делать m2e танго, пробуя различные комбинации следующих:

  • Очистка и восстановление проекта (ProjectClean...)
  • Обновление родительского проекта (правой кнопкой мыши, MavenUpdate Project...)
  • Обновление в детские проекты (Ditto)
  • Перезапуск Затмение

ECLIPS e непрерывно показывает зависимости, неразрешенные на дочерних проектах при просмотре дочерних объектов pom.xml или открытие класса в дочернем модуле с неразрешенными зависимостями. Только Обходной путь, который я нашел, - это автоматически включить профиль в моем ~/.m2/settings.xml. Тогда и только тогда Eclipse правильно разрешит зависимости Maven.

Что я делаю неправильно при первоначальном импорте/настройке проектов в Eclipse?

+0

Вы, кажется, все делаете правильно. Оба Eclipse и m2e являются современными. Вы пытались обновить свои настройки Maven, перейдя в Windows> Настройки> Maven> Настройки пользователя "и нажав« Обновить настройки »пару раз, а затем случайную комбинацию Apply и OK? Попробуйте добавить это в свой танец m2e. – Tunaki

+0

Просто попробовал @Tunaki, не сработал. – coastalhacking

+0

Я лично никогда не использовал функцию «Выбрать Maven Profiles ...» ... Возможно, вы просто нажали на ошибку m2. Вам следует попытаться связаться с командой m2e. – Tunaki

ответ

2

Как это работает для меня в примере проекта, предусматривающего тот же сценарий: заставьте Eclipse использовать профиль по умолчанию для сборки Maven.

  • правой кнопкой мыши по соответствующему проекту> Свойства> Maven
  • Введите свой профиль там, то он будет использован Eclipse, в процессе сборки

enter image description here

Я никогда не использовал эту опцию, но, по-видимому, его цель должна соответствовать вашим потребностям.

+1

Победитель, победитель, ужин из курицы! Это также обходит [ошибка 484280] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=484280). – coastalhacking