[英]Import from other module
我使用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
是我项目中的Modules
,在pom.xml
——主项目pom
而当我在Person.java
从module1
我想导入Robot.java
从module2
,但我不能这样做import com.xyz.project.md2.Robot
。 为什么?
在 module1/pom.xml 中声明对 module2 的依赖,如下所示:
<dependencies>
...
<dependency>
<groupId>XX</groupId>
<artifactId>module2</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
...
</dependencies>
必须在module1的项目中添加module2的项目作为依赖(maven依赖)。 多模块并不意味着所有模块都自动相互依赖
Maven 中处理多模块项目的机制如下:
在模块 2 的 build.gradle 中:
dependencies {
compile(project(":module1")) {
transitive = false
}
...
//Other dependencies
...
}
transitive = false
确保不导入依赖项的依赖项。 仅导入您的源部分
注意 - 虽然这个问题使用 Maven,但我们大多数人使用 Gradle。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.