Импорт из другого модуля

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

моя структура проекта выглядит так:

Project
 |_ module1
    |_ src
       |_ com.xyz.project.md1
          |_ Person.java
    |_ pom.xml <- pom of module1
 |_ module2
    |_ src
       |_ com.xyz.project.md2
          |_ Robot.java
    |_ pom.xml <- pom of module2
 |_ pom.xml <- main Project pom

module1 и module2 are Modules в моем проекте, которые зарегистрированы в pom.xml - основной проект pom

а когда я в Person.java С module1 Я хочу, чтобы импортировать Robot.java С module2 но я не могу сделать этого с import com.xyz.project.md2.Robot. почему ?

2 ответов


объявить зависимость от module2 в module1 / pom.xml, что-то вроде этого:

<dependencies>
    ...
            <dependency>
                <groupId>XX</groupId>
                <artifactId>module2</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
    ...
</dependencies>

вы должны добавить проект module2 как зависимость (зависимость maven) в проект module1. multimodules не означает, что все модули автоматически зависят друг от друга

механизм в Maven, который обрабатывает многомодульные проекты делает следующее:

Collects all the available modules to build
Sorts the projects into the correct build order
Builds the selected projects in order 

надеюсь, что это помогает.