- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有这个大型 Spring Boot 项目,其中包含数百个 API 和相应的模型。我被要求将其分成三个不同的模块。店面、订单管理系统和实用程序。根据我的基本计划,我对 Storefront 和 OMS API 进行了排序、过滤和移动到相应的项目。我将所有模型类移至 Utilities 中,创建了一个包,将该包添加到本地存储库中,并将其作为 Storefront 和 OMS 的依赖项包含在内。此外,我将这两个项目导出为可运行的 jar,并将所需的库复制到生成的 jar 旁边的子文件夹中。我这样做是因为子文件夹将包含实用程序包,如果将来我必须从实用程序中更新某些内容,我可以替换此包并重新启动服务器。
一切正常,问题在于最终包的大小。原始项目的 jar 大小为 175 MB。所有三个项目都有类似的 .pom 文件。因此,所有三个项目导出的大小几乎为 175 MB。正如我所说,我在其他两个项目中包含了实用程序包。因此 Storefront 和 OMS 的子文件夹大小变为 350 MB 左右。
最后,我的问题是,有没有办法将 Maven 项目拆分为 3 个不同的子项目,这些子项目可以独立构建和部署,以及这 3 个项目是否可以共享一组可以远程存储和部署的库。由它们独立访问以减少最终可运行 jar 的大小?
最佳答案
我认为这涉及到一些更深层次的问题。如果您的 Artifact 有 175MB,并且其中大部分是依赖项,那么您就有非常多的依赖项。
所以首先,您应该问自己,所有这些依赖项是否真的有必要。人们添加依赖项只是为了使用该依赖项中的一个简单类,这种情况并不罕见。而且这种依赖性具有传递负担。 175MB 确实需要对这一事实进行更深入的分析。
接下来,如果您发现无法真正减少依赖关系,您可以将项目分成几个项目(就像您开始做的那样)。但是,大多数依赖项应该位于其中一个生成的项目中。如果所有生成的项目都使用所有依赖项,那么这些项目都在做类似的、可能重叠的事情,这不好。
关于java - Maven:如何将现有的maven项目拆分为不同的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60229790/
我是一名优秀的程序员,十分优秀!