Gradle Multiproject - 更好的依赖控制

时间:2015-11-05 08:41:14

标签: java spring gradle

我得到了一个具有任意数量spring-boot rest services的多模块项目,它们都运行在自己的embedded tomcat和一些自己不能包含任何业务逻辑的Web前端。这些将被配置为Zuul个代理,因此不需要任何其他依赖项。

因此,在我的顶级build.gradle中,我可以声明所有项目共有的所有依赖项,在这种情况下,spring-boot-starterlog4j。虽然所有其他服务几乎共享所有依赖项。

有没有办法集群依赖?所以我可以说你是一个具有最小依赖性的前端,你是一个基本的JPA项目?

我知道我可以为所有单独定义依赖项,但在许多文件中它会加倍。

1 个答案:

答案 0 :(得分:1)

查看official user guide's"如何声明依赖关系",第52.4.8章。 "可选属性"。根据它,您可以将依赖项组合到一些集合中,这些集合可以作为项目依赖项应用,如下所示:

List groovy = ["org.codehaus.groovy:groovy-all:2.4.4@jar",
               "commons-cli:commons-cli:1.0@jar",
               "org.apache.ant:ant:1.9.4@jar"]
List hibernate = ['org.hibernate:hibernate:3.0.5@jar',
                  'somegroup:someorg:1.0@jar']
dependencies {
    runtime groovy, hibernate
}

因此,您可以在根构建脚本中为不同的配置创建许多依赖关系组(我的意思是一个用于前端,一个用于JPA项目等)。然后您唯一需要的是将这些组应用于子项目,这些子项目是已经重新使用的类型。