考虑以下企业应用程序分层示例:
在 Maven 中组织这个的正确方法是什么。我应该创建一个多模块 Maven 项目吗?如果 'project-services' 是一个 Maven 模块,它是否可以与其他三个项目共享,每个项目都是一个独立的可部署单元?
在我以前的项目中,我只是创建了 4 个不同的 Maven 项目,并且从未觉得需要其他任何东西。
想验证是否有比我以前做的更好的方法。
最佳答案
你实际上可以做任何一种方法。如果它真的是一个大项目,你总是希望同时构建和发布,那么多模块项目是一个很好的选择。你可能会这样设置它:
pom project (top level project that would define all of the modules)
jar project (project-services)
war project (project-web)
war project (project-web-services)
project-standalone (wasn't sure if this was a jar, or just some scripts, etc)
因此,您只需构建和发布根项目,它会为您处理所有子模块。它们每个都可以相互依赖(请注意循环依赖)。你几乎可以开始了。
另一种选择是完全分开的 Artifact 。好处是发布周期不同。当您有一个不经常更改的 jar 库,但您经常更新 war 时,这是一个不错的选择。
显然,您可以混合使用,因此 jar 可能是独立的,但您有一个包含两个 war 文件的多模块项目。 maven 的好处是它足够灵活,可以处理您拥有的任何业务案例,以了解如何划分这些案例。
关于maven - 关于创建 Maven 项目结构的建议 - 多个模块与多个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224621/