2013-09-19 5 views
1

У меня есть два проекта, которые зависят друг от друга.Два проекта maven, зависимые друг от друга

Предположим, что проект maven1 имеет класс A, а проект maven2 имеет ссылку на класс B. В основном я хочу, чтобы я мог скомпилировать и протестировать проект maven2, поэтому я добавил maven1 в качестве зависимости от него и задал область, Я не хочу включать maven1 (что было бы, если бы я поместил область для компиляции, например, оставьте ее) В проекте maven1 я добавил проект maven2 как зависимость с «компиляцией» области, так как я хочу, чтобы он включался во время выполнения ,

В затмении я получаю сообщение об ошибке для этого:

A cycle was detected in the build path of project 'maven2'. The cycle consists of projects {maven1, maven2} 

Также, кажется, вызывает некоторые проблемы с затмением, но я вообще хотел бы спросить, если моя конфигурация является действительной.

Спасибо за помощь!

ответ

6

Это проблема, известная как циклическая зависимость.

Чтобы решить эту проблему, вы должны создать третий проект maven и общий код рефакторинга для третьего проекта (назовем его общим).

После этого ваши проекты maven1 и maven2 будут иметь зависимость от общего.

+0

Спасибо за ваш ответ. Я знаю, что общий проект будет гораздо лучшей архитектурой. Тем не менее, я работаю над старым проектом здесь, и будет довольно сложно извлечь общие классы, поэтому я искал простой способ модульного моего нового кода без кипения океана. Хотя у меня есть эта зависимость, похоже, что Maven может собрать и установить артефакты, похоже, это только Eclipse, у которого действительно есть проблема с этим. Есть идеи? – Paul

+0

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

Смежные вопросы