Как структурировать jar-файлы Maven для сборки полного исходного кода - PullRequest
1 голос
/ 03 августа 2020

У нас есть монорепозиторий, и теперь мы пытаемся заставить Maven скомпилировать наши различные Java программы.

Пример дерева каталогов может выглядеть так:

pom.xml
src/main/java/com/company
| program12
  | Main.java
  | pom.xml
| mod1
  | Sweet.java
  | pom.xml
| mod2
  | Sour.java
  | pom.xml
| program2
  | Main.java
  | pom.xml

В обоих mod1 и mod2 Я могу упаковать банки в порядке. Теперь я хотел бы, например, program12 для сборки и включения mod1 и mod2 и program2 для сборки и включения только mod2.

Поэтому я добавил необходимые зависимости в оба pom.xml с. Вызов mvn package в program12 и program2 вызывает жалобу на то, что модули не могут быть найдены в удаленных репозиториях.

Как я могу сказать Maven не беспокоиться об удаленных репозиториях и использовать локальные модули?

Я попытался добавить modules к root pom.xml, но это не повлияло на поведение. Вероятно, есть часть логи c Maven, которую я еще не понял. Было бы хорошо, если бы кто-нибудь мог это прояснить.

1 Ответ

1 голос
/ 04 августа 2020

Я думаю, ваше недоразумение заключается в следующем:

Чтобы разрешить зависимости модулей, вам необходимо собрать проект из root POM, т.е. go в POM, который содержит модули, и запустить что-то вроде mvn clean package там. Затем он построит модули в правильном порядке и разрешит зависимости между ними.

Если вы хотите построить только несколько модулей, вы можете использовать такие параметры, как -pl и -am.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...