Заставьте Intellij использовать зависимости Uber Jar - PullRequest
0 голосов
/ 26 февраля 2019

У нас есть два модуля A и B в нашем проекте.B зависит от A. Модуль A построен как Uber Jar, а модуль B наконец-то встроен в файл войны.Поскольку модуль A встроен в uber jar, мы исключили все его зависимости при добавлении его в качестве зависимости для модуля B

<dependency>
  <groupId>com.app</groupId>
  <artifactId>A</artifactId>
  <version>1.0</version>
  <exclusions>
    <exclusion>
      <groupId>*</groupId>
      <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

Единственная проблема этого подхода заключается в том, что IntelliJ сообщает о группе необъявленных импортов в модуле.B, несмотря на то, что они получены от A через Uber JAR.

Есть ли способ заставить IntelliJ подавить эти предупреждения или выяснить, что A является Uber Jar и, следовательно, автоматически использовать все его зависимости для своего анализа зависимостей?

1 Ответ

0 голосов
/ 07 марта 2019

Мы до сих пор не нашли решение этой проблемы, но придумали обходной путь, который решает наш вариант использования.

Вместо непосредственного использования модуля A (который создает в Uber JAR), мы создалипустой модуль C, который теперь будет встроен в Uber JAR.Модуль A теперь будет просто встроен в обычный jar со всеми jar-зависимостями, представленными отдельно

A
|- B (war)
|- C (uber jar)

При такой настройке мы по-прежнему получим uber jar, который мы хотим получить от модуля C, все базовые зависимости содержатся в общем модуле(A) и военный модуль (B) может импортировать модуль, от которого он зависит (A), без каких-либо проблем.

...