繁体   English   中英

Maven:如何将现有的 Maven 项目拆分为不同的项目?

[英]Maven: How to split an existing maven project into different projects?

所以我有这个包含数百个 API 和相应模型的大型 Spring Boot 项目。 我被要求将它分成三个不同的模块。 店面、订单管理系统和实用程序。 按照我的基本计划,我对 Storefront 和 OMS API 进行排序、过滤并将其移动到相应的项目中。 我将所有模型类移到 Utilities 中,创建了一个包,将此包添加到本地存储库并将其作为 Storefront 和 OMS 的依赖项包含在内。 进一步将这两个项目导出为可运行的 jar,并将所需的库复制到生成的 jar 旁边的子文件夹中。 我这样做是因为子文件夹将包含 Utilities 的包,如果将来我必须从 Utilities 更新某些内容,我可以替换此包并重新启动服务器。

一切正常,问题在于最终包装的大小。 原始项目的 jar 大小为 175 MB。 所有三个项目都有类似的 .pom 文件。 因此,所有三个项目都导出到几乎 175 MB 的大小。 正如我所说,我在其他两个项目中包含了 Utilities 包。 因此 Storefront 和 OMS 的子文件夹的大小变成了大约 350 MB。

最后,我的问题是,有没有办法将 Maven 项目拆分为 3 个不同的子项目,这些子项目可以独立构建和部署,这三个项目有没有办法共享一组可以远程存储和访问的库独立地减少最终可运行罐子的大小?

我认为其中涉及一些更深层次的问题。 如果您的工件有 175MB 并且其中大部分是依赖项,那么您就有非常多的依赖项。

因此,首先,您应该问问自己,是否真的需要所有这些依赖项。 人们添加依赖项只是为了使用该依赖项中的一个简单类,这并不罕见。 而且这种依赖比具有传递负担。 175MB 确实需要对这一事实进行更深入的分析。

接下来,如果您发现无法真正减少依赖项,您可以将项目拆分为几个(就像您开始做的那样)。 但是,大多数依赖项应该在生成的项目之一中。 如果您生成的所有项目都使用所有依赖项,那么这些项目都在做类似的事情,可能会重叠,这并不好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM