【发布时间】:2020-12-18 19:02:37
【问题描述】:
所以我正在做一个项目,目前由两部分组成。
一个是桌面应用程序。 另一个是服务器端应用程序。
这两个应用程序共享一些公共库。
到目前为止,我将它们都放在同一个项目中,但我想知道是否应该将它们分开。
有人如何处理这个问题?
我能想到的实际上有 3 个项目,一个包含公共库,一个用于服务器,另一个用于桌面部分。然后你构建公共库,将它们推送到你本地的 maven repo 并可以将它们包含在两者中?
现在我可以通过 compile("common library") 包含它们,然后如果有更改,则只需编译公共库。使用另一种方法,我每次都必须单独编译公共库。
我只是想知道在商业/企业应用程序中如何处理这些事情,以及是否有一些架构模式可以解决这些问题?
【问题讨论】:
-
只需使用docs.gradle.org/current/userguide/multi_project_builds.html !它完全满足您的需求。创建例如
common、server和desktop子项目(参见此处的示例 docs.gradle.org/current/userguide/…)。这 3 个子项目共享的公共配置可以集中在根项目构建脚本中。 -
是的,但问题是我不想要子项目,我想完全拆分它们,我想为服务器/桌面创建两个单独的代码库。我猜这就是问题的意义所在。
标签: java kotlin gradle architecture