maven-eclipse-plugin: как заставить использовать зависимость от jar, а не зависимость от проекта

#java #eclipse #build #maven-3

#java #eclipse #сборка #maven-3

Вопрос:

Столкнулся с проблемой при использовании плагина Eclipse от maven. В одной и той же рабочей области есть два проекта, A и B.
Проект A будет предоставлен в виде jar стороннему, а проект B был создан для имитации сцены для использования A. Так что, безусловно, я хочу зависимость от jar в B, а не зависимость от проекта.
В B pom.xml:

 <dependency>
    <groupId>com.foo.bar</groupId>
    <artifactId>artifact-A</artifactId>
    <version>1.0-SNAPSHOT</version>
    <type>jar</type>
</dependency>
  

При mvn eclipse:clean eclipse:eclipse успешном выполнении на B я всегда получал зависимость от проекта. Обходным путем является изменение файла .classpath или просто копирование B в другое рабочее пространство, но оба варианта неудобны.

maven 3.0.2; eclipse 3.7 без m2eclipse

Ответ №1:

Вам нужно установить для useProjectResources maven-eclipse-plugin значение false. Таким образом, проект должен использовать только зависимости jar напрямую и не ссылаться ни на какие проекты.

 mvn eclipse:eclipse -Declipse.useProjectReferences=false
  

Ответ №2:

Попробуйте отключить разрешение рабочей области (щелкните правой кнопкой мыши project B , Maven -> Отключить разрешение рабочей области). Если вам нужен более надежный способ, достаточно просто закрыть проект A в Eclipse.

Комментарии:

1. Я использую eclipse без m2eclipse, поэтому eclipse действительно не имеет никакого отношения к этой проблеме. Закрытие проекта тоже не помогает.

2. Извините, я увидел «плагин Eclipse от maven» и подумал, что вы имеете в виду m2e. Тогда мой совет не особенно полезен, но я оставлю его на случай, если кто-нибудь найдет это позже 🙂