Импорт из другого модуля
я пишу проект с использованием 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
надеюсь, что это помогает.