2015-08-31 8 views
1

Предположим, что у меня есть.В мультимедульном проекте m2te для класса пути импортируемых проектов

top/ 
|-parent/pom.xml 
|-module1/pom.xml 
|-module2/pom.xml ->depends on module1-SNAPSHOT.jar 

Одна из замечательных особенностей М2Э является то, что все, что, если импортировать два многомодульных модулей в затмении, и если один из них зависит от других, то их вывод сборки каталог/классы получить связаны между собой. Мне не нужно делать установку maven на модуле 1, но все же последние изменения в модуле 1 получают в модуле2.

Хотя это приятная функция для небольших проектов или меньше модулей. Но становится больно, когда обновление одного проекта начинает каскадное построение на всех других проектах. Кроме того, добавление дополнительных модулей в eclipse не будет отжимать всю структуру рабочего пространства каждый раз, когда я добавляю или удаляю проекты из рабочей области.

Так что вот вопрос: Возможно ли, что m2e напрямую ссылается на файлы jar SNAPSHOT из репозитория .m2? И если я хочу, чтобы последний модуль1 был доступен для модуля2. Мне нужно будет установить модуль maven1, который создаст файл SNAPSHOT.jar в репозитории .m2.

Примечание: Я использую eclipse luna + j2ee.Version: Luna Service Release 2 (4.4.2) ID сборки: 20150219-0600. Поэтому я использую maven m2e-wtp, который по умолчанию использует его.

ответ

1

Необходимо в основном отключить разрешение рабочей области в проекте, для которого вы хотите использовать ссылки для снимков снимков. Так щелкните правой кнопкой мыши на скажем, ваш веб-проект, а затем сделать

Maven> Отключить Workspace Разрешение

С этого момента, веб-проект не будет ссылаться на его зависимостями рабочее пространство проекта больше, но будет ссылаться банки, которые были установлены в вашем локальном репозитории Maven. Имейте в виду, что это все или ничего: вы не можете иметь какие-либо проекты, все еще ссылающиеся на ваш веб-проект, в то время как другие ссылаются на их банку моментальных снимков. И это заставляет вас запускать mvn install в зависимости от вашего проекта каждый раз, когда вы делаете модификацию.

Другой вариант - закрыть проекты, которые вы не планируете слишком часто менять. После закрытия, m2e будет использовать ссылку из локального репозитория Maven.