Maven的模块划分

2023-12-26 10:22:40

Maven是什么?

maven的话,简单来说就是一个用来构建和管理Java项目的工具。它就是提供了一个标准化的构建生命周期框架,还有一些管理项目需要的依赖,是通过Central Repository,也就是中央仓库来管理项目的依赖关系的。核心是pom文件,pom文件是一个xml文件用来描述项目的依赖关系、构建配置等等,pom文件定义了项目结构包括代码目录、输出目录、依赖关系等等。还有就是maven约定优于配置,因为遵循一些约定可以减少配置工作,用的时候配置就行。maven还支持集多模块项目,就是说可以把一个大项目拆成多个小模块,每个模块可以有自己的pom文件和目录结构。

Maven的特点:

还有就是maven构建项目具有有序性和一致性,因为maven的生命周期是规定按顺序执行的,每个阶段都依赖于前一个阶段的执行结果。

Maven的生命周期:

clean:清理项目,删除之前构建项目所生成的目录、文件

validate:是用来检查项目结构和项目必要信息的,判断项目对不对

complie:编译项目源代码的

test:运行单元测试

package:对编译后的代码打成jar包,可分发的格式

verify:对测试结果验证,看满不满足质量标准

install:把包安装到本地仓库,就能让其他项目使用

deploy:把包复制到远程仓库

site:生成项目文档和报告

Maven的坐标:

坐标由三个部分构成: groupId artifactIdversion

表示所属于哪里的标识符类似Java中的包名;项目名称;项目版本号;

是用来标识项目信息的,有了坐标就可以唯一地标识Maven仓库中的一个特定项目。可以更好地管理和组织项目的依赖关系,确保项目构建的一致性和可靠性。还方便地引入其他项目作为依赖,能更轻松地维护和升级这些依赖。

为什么要分模块?

将一个项目分为多个模块使用Maven进行管理的主要目的就是去提高项目的可维护性、可扩展性和复用性,对于较大型和较复杂的项目来说分模块可以带来更多好处:

首先是模块化设计:将项目分为模块有助于模块化设计,每个模块专注于特定的功能或层次。这使得代码更容易理解、维护和修改。每个模块可以独立开发、测试和部署,降低了模块间的耦合性。

然后是有复用性:就是可以使每个模块能被其他项目或模块复用。就比如你可以将一个通用的数据库交互模块用于多个项目的Dao层,从而提高代码的复用性。

还方便团队协作:因为不同成员可以去专注于不同的模块,独立开发和测试,最后各自完成自己的任务后再集成到一个整体项目中。就能并行开发,提高开发效率。

还具有版本控制:因为每个模块都有独立的版本号,就使得在不同模块之间进行版本控制更灵活,比如可以单独更新或回滚某一个模块,它还不会影响整个项目。

还支持构建和部署:提高构建速度,简化集成和持续部署的流程。

虽然在IDE中导入多个项目会增加一些复杂性,但是通过好的项目结构可以换取来更好的可维护性和可扩展性。此外IDE通常还会提供方便的工具和视图,让项目管理变得更容易。

假设有这样一个项目,很常见的 Java Web 应用。在这个应用中,我们分了几层: Dao 层负责数据库交互,封装了数据库交互的类。 Service 层处理业务逻辑,放一些 Service 接口和实现相关的Bean。 controller 层负责与客户端交互。

如何创建?

创建父项目(也称为聚合项目)。这个项目的pom.xml文件将包含子模块的定义。在这个pom.xml文件中,你需要指定<modules>元素,其中包含所有子模块的相对路径。

Maven 的坐标 GAV ( groupid,artifactId,versio ? )在这里进行配置,这些都是必须的。特殊的地
方在于,这里的packaging 为pom ? ,所有带有子模块的项目的packaging 都为pom ?

在父项目所在的目录下创建子模块。定义模块之间的依赖关系。每个子模块都应该有自己的pom.xml文件。

文章来源:https://blog.csdn.net/lzpyy/article/details/135117360
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。