如何使用IntelliJ中的接口构建多模块项目?

时间:2013-11-14 01:16:23

标签: java module intellij-idea gradle modularity

我正在尝试以模块化方式构建我的应用程序(使用Gradle构建并在IntelliJ中开发,这在这里看起来非常重要)(使用Guice进行模块和DI)。问题是我希望模块只能通过接口进行通信,所以理想情况下我想要实现这种结构:

+-- project
   +-- module1
      +-- src
         +-- iface
         +-- impl
         +-- test
      +-- build.gradle
   ..
   +-- moduleX
      +-- src
         +-- iface
         +-- impl
         +-- test
      +-- build.gradle

build.gradle中,我想包含project('moduleX', configuration : 'iface')或类似内容。

在Gradle中,我可以使用sourceSets等,这一切都很酷!但问题是IntelliJ不能识别它,因为我在gradle脚本中执行它!对于IntelliJ,它仍然只是一个模块。

这很奇怪,因为即使是maven也支持类似的项目结构(如果我没记错的话)。这是否意味着还有其他方法可以实现我想要的目标?而IntelliJ希望我使用这种方法,或者它只是希望我将iface和其他模块分开作为单独的模块(我想避免的事情,我不希望我的项目中有太多模块,因为它会降低开发环境的速度)?

1 个答案:

答案 0 :(得分:1)

除了使用源集之外,您通常将其构建为多项目构建,它将映射到IntelliJ中的多模块项目,以及Eclipse中具有多个项目的工作区。要了解有关多项目构建的更多信息,请查看Gradle User Guide

中的相应章节
相关问题