Извините за подробный...
У меня есть несколько существующих проектов maven. Я импортировал их в Eclipse, используя Maven → Импортировать существующие проекты Maven.
Это дало мне 6 отдельных проектов и один проект, в котором перечислены все 6 под ним. (Зонный проект имеет в нем 6 модулей, которые переведены в 6 проектов eclipse - так как я понимаю, как работает maven)
Один из проектов A требует двух других проектов B и C (во время компиляции и времени выполнения).
Путь сборки - На пути сборки A у меня есть одна из библиотек как зависимости Maven. И он строит отлично.
Развертывание сборки -
В сборке развертывания A, однако, нет места для развертывания до web-inf/lib
. Из-за этого, когда tomcat начинает, он не находит никаких необходимых банок или проектов B и C.
Поэтому я добавил запись в сборку развертывания как: source-maven И установки зависимостей - web-inf/lib.
Tomcat появляется, и появляется мой webapp для проекта A.
Это, однако, нарушает работу затмения - после сборки eclipse жалуется: "Неверный экспорт публикации пути к классам. Записи проекта не поддерживаются.
Это видно из-за того, что в пути сборки добавлена новая запись, добавленная в web-inf/lib для публикации/экспорта под зависимостями maven. Удаление, которое удаляет запись maven из сборки развертывания.
Единственным обходным решением является то, что в сборке развертывания я указываю web-inf/lib
под целевым объектом, сгенерированным maven, но который вызывает сбор старых экземпляров проектов B и C.
Почему мне нужен этот параметр, потому что, когда я вношу изменения в проекты B и C в Eclipse и создаю их в Eclipse, я хочу видеть изменения, когда я отлаживаю проект A. Я не хочу запускать сборки maven на B и C снова, так как он занимает много времени.
Любая помощь очень ценится.
Я попытался включить MAVEN2_CLASSPATH_CONTAINER
, но всегда пуст, и когда tomcat работает, он не может найти необходимые библиотеки. (Кстати, какой vale является MAVEN2_CLASSPATH_CONTATINER
установленным?)
Это на Eclipse Indigo Mac OSX.