Java 为什么要将Maven项目分解为子模块?

Java 为什么要将Maven项目分解为子模块?,java,maven-2,maven,maven-3,Java,Maven 2,Maven,Maven 3,将Maven项目分解为子模块的主要可能原因是什么?除了模块化的好处之外,您是否在寻找更多的东西?理想情况下,子模块应代表单个概念/功能,以便它们在功能上具有连贯性。同时等待我的评论得到答复 将基于JavaEE的maven项目拆分为子模块的一个原因是,您可以独立地构建JAR/RAR/WAR/EAR/任何东西 对于常规Java应用程序,您可以将功能拆分为单独的JAR,同样,每个JAR都可以是整个项目下的子模块,您也可以独立构建它们,运行单独的目标/阶段/报告等 Pom文件继承 您可以使用根POM

将Maven项目分解为子模块的主要可能原因是什么?

除了模块化的好处之外,您是否在寻找更多的东西?理想情况下,子模块应代表单个概念/功能,以便它们在功能上具有连贯性。

同时等待我的评论得到答复

  • 将基于JavaEE的maven项目拆分为子模块的一个原因是,您可以独立地构建JAR/RAR/WAR/EAR/任何东西

  • 对于常规Java应用程序,您可以将功能拆分为单独的JAR,同样,每个JAR都可以是整个项目下的子模块,您也可以独立构建它们,运行单独的目标/阶段/报告等

      • Pom文件继承 您可以使用根POM的和部分在所有子项目中保持一致的版本号和配置。因此,如果我有一个聚合器项目,其中列出了300个项目,所有这些项目都使用ApacheCommonsIO,我想将它们升级到CommonsIO的最新版本,我可以在根pom的dependencyManagement部分中更改版本。所有子项目都不需要指定版本
      • 构建配置文件 在上面的示例中,如果我有300个子项目,那么单个开发人员可能不会定期处理300个子项目中的所有(甚至很多)子项目。您可以创建一个构建概要文件,该概要文件只指定您经常使用的模块,如果您有一个将工件部署到工件存储库的持续集成服务器,您也可以获得团队中的开发人员所做的所有更改,而不必构建所有300个模块
      • 总体组织/清晰度

      你能告诉我们一些情况吗?