Мультимодульная сборка разрешений искусников против индивидуальной сборки?

Я наблюдал следующее maven поведение в моем проекте, которое не имеет смысла для меня. Вот суть происходящего.

Допустим, у меня есть проект с двумя модулями

  • com.example.foo.jar
  • Бар com.example.bar.jar зависит от foo
  • оба совместно используют общий родительский проект, который включает в себя модуль Maven

Когда мой локальный.m2 пуст и, следовательно, foo и bar не установлены.

  • в project/ каталог mvn clean verify работает и сборка прошла успешно
  • в bar/ каталог mvn initialize не работает и я получаю сообщение об ошибке, в котором говорится, что maven не может разрешить зависимость бара от foo

Так почему же maven может создать проект, когда я вызываю его из папки проекта, а не из отдельного модуля?

project/
  pom.xml
  foo/
    pom.xml
  bar/
    pom.xml

Я пытаюсь избежать mvn install взломать обсуждали здесь http://developer-blog.cloudbees.com/2012/12/maven-and-hack.html

1 ответ

Вы можете построить подмодули в реакторе:

mvn -pl bar package -am

Вам нужно будет включить -am также построить fooмавену иначе некуда деться foo"s jar от.

См. Maven Модули + Сборка отдельного конкретного модуля для получения более подробной информации.

Другие вопросы по тегам