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

我试图弄清楚如何在一个IntelliJ项目中共享两个模块之间的包,我似乎无法找到正确的方法来实现它。 我知道它可以在Eclipse中完成,但我不是很精通它。 简而言之,我正在尝试重现由AppEngine连接的Android项目创建的相同类型的项目环境。

这是“问题”,我可以把它解决

项目A.

  • 第1单元; AppEngine + GWT +其他任何东西
  • 第2单元; Android的

每个模块在Project的主目录中都有自己的源目录:

  • /项目A /模块1 / SRC
  • /项目A /单词数/ 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项目,那么两个模块似乎并不共享相同的内容根目录……? 有没有更好的方法来配置我的项目? 或者我错过了什么……?

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

/ProjectA/Module3/src 

然后将Module3上的模块依赖项添加到Module1和Module2。