从其他模块导入

新手上路,请多包涵

我使用 JavaMaven 编写项目。在项目中我有很多模块。我的问题是我无法从其他模块导入类。

我的项目结构如下所示:

 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 Modules pom.xml module2

And when I am in Person.java from module1 I want import the Robot.java from module2 but I can not do this with import com.xyz.project.md2.Robot为什么 ?

原文由 CeZet 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 668
2 个回答

在 module1/pom.xml 中声明对 module2 的依赖,像这样:

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

原文由 Y.E. 发布,翻译遵循 CC BY-SA 3.0 许可协议

在模块 2 的 build.gradle 中:

 dependencies {
    compile(project(":module1")) {
        transitive = false
    }
     ...
     //Other dependencies
     ...
}

transitive = false 确保不导入依赖项的依赖项。仅导入您的源部分

注意 - 虽然问题使用 Maven,但我们大多数人使用 Gradle。

原文由 sapy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题