我见过一个项目,其中一个项目分为模块,每个模块都是maven项目本身。这些模块通过一个模块集成,其中包含对所有其他模块的引用。要启动项目,用户必须导入IDE中的所有模块。那么,为什么人们使用这种方法呢?将所有模块打包到jar并且作为依赖项包含在某些模块中并不容易吗?使用项目代替罐子有什么好处吗?使用项目的缺点是:用户需要将所有模块保留在IDE中,可能会意外更改源代码,如果IDE开始编译所有模块,则需要花费大量时间。
答案 0 :(得分:0)
如果您不小心更改了一个文件,只会重新编译此文件,这不是什么大问题。
通常,您需要对项目进行模块化以减少相互依赖性并使所有内容更具可控性。通常,父项目甚至没有自己的任何源文件;相反,它仅用于聚合模块。这里只使用模块将大项目分成几部分。
您可以将这些部分作为单独的项目进行开发,但是要在一个模块中实现更改并使其可供其他使用它的模块,您必须构建该模块并在客户端模块中实现依赖关系。那很麻烦。将它们作为一个大型项目保持更加实用,只需更改您需要更改的代码,并且所有依赖它的模块都可以使用它。