在IntelliJ中如何在模块之间共享Java包?

11
我正在尝试弄清楚如何在单个IntelliJ项目中的两个模块之间共享包,但我似乎找不到正确的方法。 我知道Eclipse可以做到这一点,但我对它不是很熟悉。 简而言之,我正在尝试复制由AppEngine连接的Android项目创建的相同类型的项目环境。
以下是“问题”的最佳描述:
项目A。 - 模块1; AppEngine + GWT +其他内容 - 模块2; Android
每个模块都有自己的源目录,位于项目的主目录中:
- /ProjectA/Module1/src - /ProjectA/Module2/src
我为两个模块创建包,并编写每个模块所需的各种类。 大多数类对于模块/平台都是唯一的,并打包到自己的命名空间中。
模块1
- com.example.myproject.server - com.example.myproject.server.domain - com.example.myproject.server.services - ...
模块2
- com.example.myproject.client - com.example.myproject.client.activities - com.example.myproject.client.fragments - ...
然而,我在两个模块中使用了一些相同的接口和枚举:现在我想在两个模块之间共享所有相同的代码,因此我不必每次更改一些内容时都要复制源代码。
- com.example.myproject.shared - com.example.myproject.shared.interfaces - ...
我知道IntelliJ允许您在模块配置的一部分中配置多个内容根目录。 但是,如果它们属于同一个IntelliJ项目,则似乎两个模块不能共享相同的内容根目录...? 有没有更好的方式来配置我的项目? 还是我漏掉了什么...?
1个回答

9

您可以将共享代码移动到具有自己内容根目录的另一个模块中,例如:

/ProjectA/Module3/src

然后在Module1和Module2中都添加一个对Module3的模块依赖。


  • 头撞桌 * 没有考虑第三个模块...非常顺利!谢谢!!
- aheinrich
我已经尝试过这个解决方案,但它在 GWT 编译中不起作用。它只适用于服务器端代码。 - M.Sameer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接