Рабочая область Eclipse (при использовании M2E) действует как локальный репозиторий maven. Каждый извлеченный вами проект Maven доступен для использования в качестве зависимости (так же, как если бы вы установили его в свой локальный репозиторий).
Например: если ваш проект A зависит от библиотеки B версии 1.0.0, и вы извлекаете исходный код для библиотеки B версии 1.0.0, Eclipse сможет скомпилировать A, используя рабочую версию B. Вам не нужно устанавливать lib B в вашем локальном репозитории.
Это особенно полезно, когда вам нужно внести изменения в библиотеку и протестировать ее в приложении, которое также есть в вашей рабочей области.
Обратите внимание, однако, что версия зависимости для lib B на pom A и объявленная версия B на pom B должны ТОЧНО совпадать, чтобы это работало. Например, если в pom.xml для A у вас есть:
<dependency>
<groupId>a.b.c</groupId>
<artifactId>B</artifactId>
<version>1.0.0</version>
</dependency>
Вам нужна касса B на версии 1.0.0.
Если вам нужно внести изменения в B, вам, вероятно, придется изменить версию зависимости на что-то-SNAPSHOT (например, 1.0.1-SNAPSHOT) и проверить эту версию B.
Вам также необходимо установить флажок «Разрешить артефакты рабочей области» в вашем проекте Eclipse, чтобы это сработало. (Щелкните правой кнопкой мыши проект -> Свойства -> Maven -> Разрешить зависимости от проектов рабочей области)
Если вы хотите убедиться, что Eclipse использует версию в вашей рабочей области, а не установленную версию (или даже версию из удаленного репозитория), проверьте вкладку «Зависимости» в редакторе pom.xml. «Обычные» зависимости отображаются с помощью значков jar, зависимости, разрешенные в рабочей области (например, lib B), отображаются с помощью значков проекта Eclipse.
person
Isabella Almeida
schedule
11.01.2016