2013-11-20 1 views
8

У меня есть проект A, который зависит от проектов B и C в моей рабочей области Eclipse.Maven: m2eclipse: отключить разрешение рабочей области Причины отсутствия артефакта

Иногда я хочу, чтобы A выполнялся с использованием артефактов B и C из репозитория, а не версий в рабочей области. Поэтому я выбираю A, а затем выбираю «Maven-> Disable Respace Resolution», чтобы A использовал версии из репозитория.

Однако, как только я беру выше действия, я получаю сообщение об ошибке «Missing артефакт B» и «Missing артефакт C» в файле пом проекта А.

Я пытался очистить проект, я выбрал «Maven | Обновление "с параметром" Принудительное обновление банок/выпусков ". Не из них решены проблемы.

Я использую «Maven-> Отключить разрешение рабочей области» неправильно?


Дополнительная информация: Точные версии этих проектов находятся в репозитории. Фактически, если я закрываю проекты B и C в рабочей области, проект A с радостью использует версии репозитория B и C.

+0

Почему тэг [tag: subclipse] и Subclipse в заголовке: почему вы думаете, что Subclipse задействован? –

+0

Потому что «Отключить разрешение рабочей области» является особенностью плагина Subclips. –

+0

Это не ... это особенность плагина m2eclipse (Maven). –

ответ

5

Вам необходимо, чтобы проекты B и C были установлены в вашем локальном хранилище m2 с точными версиями как они упоминаются в pom.xml проекта А.

+1

Я знаю. Точные версии этих проектов находятся в репозитории. Фактически, если я закрываю проекты B и C в рабочей области, проект A с радостью использует версии репозитория B и C. –

+0

В нашей среде поведение m2eclipse совпадает с поведением пользователя2295633 – sgalenski

0

Это, кажется, известная проблема (если не ошибка) после того, как все: troubleshooting-missing-artifact

у меня есть аналогичные установки (веб-проект а зависит от баночки проекта B), поэтому я пытаюсь воспроизвести, как описано в приведенной выше ссылке:

projectA и projectB.
Оба проекта используют Maven.
ProjectA должен иметь зависимость от projectB.
Настройте рабочее пространство Eclipse с обоими проектами.
Щелкните правой кнопкой мыши на файле projectA и перейдите в раздел «Maven ==> Отключить разрешение рабочей области»
Очистить/обновить/перестроить проекты.
Вы получаете сообщение об ошибке «Отсутствующий артефакт».

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

Я не знаю, является ли это версией eclipse, но я работаю над: Eclipse Java EE IDE для веб-разработчиков. Kepler Service Release 2 Сложение ID: 20140224-0627

0

Я не понимаю, почему zlinks привел направления воспроизвести ошибку, но не действительное решение (который работал для меня по крайней мере). Так что ...

На представлении репозитория (Window ==> Просмотр ==> Другие ==> Maven Repository), вы должны сосредоточиться на unsynched хранилище (шахта локальный репозиторий), а затем щелкните правой кнопкой мыши и выберите «reindex»

Это было.