我的项目中有三个子项目。它们每个都是可执行的Web应用程序。它们共享相同的核心模块,也具有其build.gradle脚本。假设其名称为shared-core
。现在,我每个人都有单独的gradle.build和settings.gradle。因此,当我尝试构建所有它们时,核心将被重建三次。但是我想设置gradle脚本,以便shared-core
仅重建一次。
我真的很陌生,很抱歉,如果这是一个愚蠢的问题,但是我该怎么办?
谢谢您的帮助。
答案 0 :(得分:2)
root(main-project)
|
|-shared-core
| |-build.gradle
|
|-sub-project-a
| |-build.gradle
|
|-sub-project-b
| |-build.gradle
|
|-sub-project-c
| |-build.gradle
|
|-build.gradle
|-settings.gradle
现在在每个子项目上,将共享核心的依赖项添加为compile project(':shared-core')
。您可以在multi-project builds.
答案 1 :(得分:1)
如果我正确理解(来自多个settings.gradle文件),则说明您正在将项目构建为完全独立的版本。 Gradle不了解这些项目之间的关系。
如果您创建一个multi-project build,其中每个项目都是子项目,并且使每个webapp
模块都依赖于shared-core
,那么Gradle只会构建{{ 1}}项目一次构建。
您仍然可以根据需要配置每个shared-core
模块。
如果您不想在一个项目中看到所有Web应用程序,请查看composite builds,但设置起来会有些困难。