10

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

这是“问题”,尽我所能

项目 A。

  • 模块 1;AppEngine + GWT + 其他
  • 模块 2;安卓

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

  • /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 项目,那么它们似乎并不关心共享相同的内容根......?有没有更好的方法来配置我的项目?还是我错过了什么..?

4

1 回答 1

8

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

/ProjectA/Module3/src

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

于 2012-07-11T07:05:30.717 回答