【发布时间】:2020-05-30 10:58:57
【问题描述】:
所以我有了这个包含数百个 API 和相应模型的大型 Spring Boot 项目。我被要求将它分成三个不同的模块。店面、订单管理系统和实用程序。根据我的基本计划,我对 Storefront 和 OMS API 进行了排序、过滤和移动到相应的项目。我将所有模型类移到 Utilities 中,创建了一个包,将此包添加到本地存储库,并将其作为 Storefront 和 OMS 的依赖项包含在内。进一步将这两个项目导出为可运行的 jar,并将所需的库复制到生成的 jar 旁边的子文件夹中。我这样做是因为子文件夹将包含 Utilities 的包,如果将来我必须从 Utilities 更新某些内容,我可以替换这个包并重新启动服务器。
一切正常,问题在于最终包装的大小。原始项目的 jar 大小为 175 MB。这三个项目都有相似的 .pom 文件。因此,所有三个项目都导出到几乎 175 MB 的大小。正如我所说,我在其他两个项目中包含了实用程序包。所以 Storefront 和 OMS 的子文件夹大小变成了大约 350 MB。
最后,我的问题是,有没有办法将一个 maven 项目拆分为 3 个不同的子项目,这些子项目可以独立构建和部署,这 3 个项目有没有办法共享一组可以远程存储的库和由它们独立访问以减小最终可运行 jar 的大小?
【问题讨论】:
标签: java spring-boot maven maven-2 maven-3