Maven Spring Boot - Получение сообщения «пакет не существует» для пакета многомодульного поставщика - PullRequest
0 голосов
/ 10 января 2020

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

Имейте простой многомодульный составной проект 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 не существует

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