В затмении зависимости maven перекрывают зависимости проекта - PullRequest
4 голосов
/ 22 ноября 2011

У меня есть «главный проект», который использует несколько «модулей».Модули находятся в pom.xml, но у меня также есть код для модулей как проектов в Eclipse.Я определил модули как зависимости проекта как в «Свойствах | Ссылки проекта», так и в «Свойствах | Путь сборки Java».Я также позаботился о том, чтобы все проекты Eclipse были в верхней части «Порядка и экспорта» в Java Build Path.

Главный проект не распознает изменения в модулях в eclipse.Когда я нажимаю F3, чтобы увидеть код, он открывает исходный код Java из моего каталога .m2.Это явно игнорирует мои проекты Eclipse.Я что-то пропустил?Что мне делать?

Ответы [ 3 ]

6 голосов
/ 22 ноября 2011

Вам не нужно добавлять зависимые проекты в ссылки на проекты (по крайней мере, при использовании m2eclipse-plugin), просто добавьте их как зависимости от pom.xml ваших мастеров. У меня не было необходимости трогать путь сборки, так как я начал использовать Maven в Eclipse.

Убедитесь, что вы включили разрешение рабочей области плагина, щелкнув правой кнопкой мыши на корне проекта -> Maven -> Включить разрешение рабочей области. Если указано «Отключить разрешение рабочей области», оно уже включено. Вам также может потребоваться запустить «Обновить конфигурацию проекта» в том же меню.

Таким образом, когда вы запускаете свой мастер-проект из Eclipse, любые изменения, внесенные в другие проекты, будут «видны» мастеру (и вы можете использовать горячую замену во время выполнения даже в других проектах).

3 голосов
/ 22 ноября 2011

Если вы используете Maven, вы в значительной степени хотите посвятить себя Maven.Даже если вы настроите Eclipse с зависимостями, специфичными для Eclipse, каждый раз, когда вы обновляете конфигурацию вашего проекта с помощью Maven, он полностью переписывает вашу конфигурацию.

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

В вашем конкретном случае (с помощью модулей Maven) это означает, что каждый из ваших модулей будет импортирован в Eclipse как проекты с поддержкой m2e.Затем m2e автоматически подключит зависимости между модулями и другими зависимыми проектами.

0 голосов
/ 22 ноября 2011

Я ломаю голову над тем, почему ваши модули должны быть определены как зависимости от вашего проекта верхнего уровня.Вы пытаетесь избежать определения (перекрестных) зависимостей на уровне модуля?В любом случае, в соответствии с другими предложениями, сначала поместите ваши зависимости в правильные места в вашем POM, затем либо выполните

mvn eclipse:clean eclipse:eclipse

, чтобы обновить настройки Eclipse, или, что еще лучше, убедитесь, что m2eclipse установлен и импортирует ваши maven проекты прямо в IDE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...