2013-06-07 2 views
1

окружающей среды {мерзавец, специалист, spring3, tomcat7, STS3.2/Eclipse4.2}Eclipse, не загружается в модуль зависимого Maven проекта с множеством модулей

The Maven проект имеет структуру ниже

Base 
--CoreApi 
--CoreImpl 
--ModuleBase 
----ModuleApi 
----ModuleImpl 
----ModuleWeb 

МодульWeb имеет зависимость от времени компиляции от CoreApi (jar), ModuleApi (jar) и ModuleImpl (jar).

Когда я публикую ModuleWeb к коту (с помощью STS) и запуск кота, я вижу ModuleImpl не копируется в WEB-INF/Lib папки и которая в конечном итоге приводит к ClassNotFound как исключения. Однако ModuleApi и CoreApi копируются в lib. И в этом проблема!

Чтобы отметить, я могу, конечно, сделать maven clean install с терминала без каких-либо проблем, и он успешно создает банки и войны.

В STS> проект СВОЙСТВА ModuleWeb в> Сборка Развертывание enter image description here

и порядок сборки путь и экспорта выглядит следующим образом: enter image description here

Ofcourse, если я вручную скопировать ModuleImpl в WEB-INF/Lib, все работает, но это не так, как должно быть. Итак, какая-нибудь подсказка?

Это, как говорится, все работало хорошо, пока я не должен был сделать некоторые связанные с GIT изменения в .gitignore добавить .settings и .classpath и далее делать git rm -r --cached и git add . Также серия проекта чистой, совершает и Maven Установок от терминала. Я думаю, что что-то перепуталось.

ответ

0

Это постоянная проблема с m2e-wtp плагина в Eclipse:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=398138

Я не понял, конкретные условия о том, когда дело доходит до, ни у меня есть конкретный обходной путь. Я рекомендую изменить структуру зависимостей, если можно. Сделайте ModuleApi в зависимости от ModuleImpl, например (даже если это не так), или CoreApi в зависимости от ModuleImpl.

+0

ModuleWeb уже зависит от ModuleImpl, как указано в вопросе. –

+0

А, я смотрел вашу диаграмму как дерево зависимостей. Во всяком случае, это был просто пример. Попробуйте добавить 'ModuleImpl' в качестве зависимости от' ModuleApi' или 'CoreApi'. – davidfmatheson

+0

Пробовал. Не улучшила ситуацию. У маркера теперь есть ошибка Цикл был обнаружен в пути сборки проекта «hawk-health-hck-api». Цикл состоит из проектов {hawk-health-hck-api, hawk-health-hck-impl, hawk-health-hck-web} –

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