Добавление пользовательского проекта Maven в качестве зависимости - PullRequest
0 голосов
/ 25 июля 2011

Я использую eclipse с плагином m2eclipse, сейчас я просто хочу решить - imho - легкую проблему: у меня есть два проекта maven, я хочу добавить project A в качестве зависимости к project B.

Ну, как мне этого добиться? Если я добавлю project A к пути сборки project B, eclipse распознает классы, но этот проект не будет решен затмением во время сборки.

Я заработал, установив project A в локальный репозиторий и добавив его в качестве зависимости к моему pom. Это работает, но обременительно, потому что мне всегда приходится устанавливать новую версию проекта А., когда что-то меняется.

Разве плагин не должен обрабатывать такую ​​ситуацию для меня?

Ответы [ 3 ]

1 голос
/ 25 июля 2011

При условии, что в рабочей среде открыты оба проекта maven, убедитесь, что в контекстном меню Maven включена опция «Включить разрешение рабочей области».

0 голосов
/ 25 июля 2011

Да Eclipse справится с этими ситуациями.

Вы можете добавить оба проекта A и B в одно и то же рабочее пространство.

Я мог бы помочь вам создать простое рабочее пространство с нуля..

Я предполагаю, что вы уже установили плагин MAVEN M2Eclipse для Eclipse.

  1. Запустите новое Eclipse в пустом рабочем пространстве
  2. Щелкните правой кнопкой мыши Project Explorer -> Перейти в диалог импорта и добавьте модуль Maven.
  3. Найдите каталог POM и добавьте этот каталог.
  4. В нем будут перечислены все проекты во всехвложенные папки.
  5. Добавьте до одного модуля на основе Maven в одном рабочем пространстве.

При этом вам не нужно устанавливать зависимости.Любые изменения будут отражены в производном модуле.

Надеюсь, что это поможет вам.

0 голосов
/ 25 июля 2011

То, как вы это сделали, правильно, поскольку предполагается, что проект B будет использовать зависимость проекта A, которая будет находиться в артефакте, поэтому вы можете разрабатывать оба независимо.

И вообще, для проекта A, если вы используете maven, разве вы не используете maven clean install для компиляции и развертывания? Таким образом, вы уверены, что у вас всегда есть последняя версия

Другой вариант, в случае, если оба они в большей степени зависят друг от друга, вам следует рассмотреть возможность сделать один из них модулем другого или, возможно, создать проект C, содержащий оба модуля, но это будет означать из них являются частью одного и того же проекта (например, ухо, содержащее две банки), зависит от ситуации

...