Мы собирались во многих кругах, пытаясь выяснить, что выглядело как тривиальный случай.
Имейте простой многомодульный составной проект Maven (у parentz есть дочерние поставщики и зависимые от него)
pom. xml (parentz)
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath />
</parent>
<groupId>parentz</groupId>
<artifactId>parentz</artifactId>
<version>0.0.0</version>
<packaging>pom</packaging>
...
pom. xml (providerz)
...
<parent>
<groupId>parentz</groupId>
<artifactId>parentz</artifactId>
<version>0.0.0</version>
</parent>
<artifactId>providerz</artifactId>
<name>providerz</name>
<version>1.0.0</version>
<packaging>jar</packaging>
...
pom. xml (зависимый)
...
<parent>
<groupId>parentz</groupId>
<artifactId>parentz</artifactId>
<version>0.0.0</version>
</parent>
<artifactId>dependentz</artifactId>
<name>dependentz</name>
<version>1.0.0</version>
<packaging>war</packaging>
...
<dependency>
<groupId>parentz</groupId>
<artifactId>providerz</artifactId>
<version>1.0.0</version>
<type>jar</type>
</dependency>
...
Код:
Этот класс c публикуется в модуле providerz:
com.shapes.model.Rec
Этот класс c публикуется в модуле зависимых:
com.shapesui.model.RecController
And it imports from the provider:
import com.shapes.model.Rec; <-- FAILURE POINT
Выполнение и ошибка
Поставщик проекта ( OKAY):
>mvn -am -pl providerz clean install
УСПЕХ ЗДАНИЯ
Зависимый проект (FAILS):
>mvn -am -pl dependentz clean package
[ERROR] Не удалось выполнить цель org. apache .maven.plugins: maven-compiler-plugin: 3.8.0: компиляция (компиляция по умолчанию) в зависимости от проектаz: ошибка компиляции [ОШИБКА] ... ShapesParent / зависимый z / src / main / java / com /shapesui/controller/RecController.java:[12,24] пакет com.shapes.model не существует
Таким образом, суть в том, что зависимый компонент не может ссылаться на пакеты в поставщике:
пакет com.shapes.model не существует