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

时间:2012-07-11 05:18:09

标签: java intellij-idea package

我正在试图弄清楚如何在一个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项目,那么两个模块似乎并不共享相同的内容根目录......?有没有更好的方法来配置我的项目?或者我错过了什么......?

1 个答案:

答案 0 :(得分:8)

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

/ProjectA/Module3/src

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