IntelliJ gradle添加模块依赖

使用IntelliJ 2016.2。
使用Gradle 2.14.1

我有2个项目,每个项目都有自己的build.gradle文件和单独的目录结构:

myLib (meant to be jarred and used by others) - build.gradle - settings.gradle - src/main/java/... sandbox (spring boot web app) - build.gradle - settings.gradle - src/main/java/... - src/main/resources/... 

希望你能得到这张照片。 在IntelliJ中,我有以下模块结构,在同一级别(没有子项目):

 - myLib - sandbox 

简单的请求…我想在sandbox应用程序中使用myLib 。 我想在同一个项目中同时开发这两个模块。

我已经尝试在IntelliJ中为myLib添加模板依赖项到sandbox 。 没有骰子。 我试过添加一个jar参考,没有骰子。

我相信我需要在build.gradle文件中添加一个依赖项,但无法弄清楚如何。 我已经尝试过compile files ''等等。没有骰子。

本地模块

这是大多数Gradle项目遵循的模式,其中有一个库,然后是使用该库的示例应用程序

  - module/ - build.gradle - src/main/java - library/ - build.gradle - src/main/java - settings.gradle - build.gradle 

在那个顶级settings.gradle你有

 include ':library', ':module' 

module/build.gradle ,编译包含项目

 dependencies { compile project(':library') } 

基本上,顶级build.gradle是子项目和变量的所有常见配置的包装器。 例如,它最常用于Maven URL的repositories { }部分。 有关详细信息,请参阅Gradle – 多项目构建

遥控模块

以上内容适用于本地工作,但是假设您希望与许多其他开发人员共享您的repo,而无需下载额外的源代码。 然后您将其他库发布到远程服务器。

如果您的项目在GitHub上公开 ,请使用jitpack.io之类的服务。 您还可以在Bintray OSS或Maven Central上设置帐户,以使您的库与大多数其他库一样可用。

如果您的项目在公司内部私有的 ,那么您将需要一些Maven类型的服务器,无论是通用Web服务器,还是Nexus或Artifactory,您可以通过添加到存储库块来添加它。

 repositories { maven { url "http://some.maven.site/" } } 

然后像往常一样添加compileimplementation

最后,Gradle 3.1已经解决了这个问题。 现在支持复合构建。 更多这里 。 简而言之,将此行添加到沙箱设置.gradle文件 –

 includeBuild '/myLib' 

如果你无法升级Gradle,那么唯一的希望就是将mylib工件发布到本地maven repo并将mavenLocal()添加到sandbox / build.gradle。