maven项目架构

使用maven构建工具可以将项目分成模块,使得项目的层次更加清晰,而且在项目需要浏览器前端与手机端前端的现代社会,极大地提高了代码的重用性,在分布式部署时,在具体提高某一层次的负载能力上,也发挥着重要的作用。

maven项目的模块化:在使用maven进行web工程的构建时,项目的结构应该先按照MVC层次进行分模块,这一层的划分是为了能再分布式部署时针对具体某一层进行负载能力的提升(增对某一层增加服务器),在M、V、C内部再按照具体的项目逻辑进行模块的划分,这一层的划分是为了开发的效率,与系统的可维护性。

maven的功能有:继承、依赖、聚合。使用这三个功能对项目的结构分析大致如下图:

继承使用parent标签
聚合使用parent、module标签
依赖使用dependency标签
公司级的父项目使用的标签主要为dependencyManagement和pluginManagement。
继承就不需要指定版本了,总不能让公司所有的项目版本都一样吧。

公司级父项目,包含了jar包依赖的定义,用于统一公司使用的jar包版本

问题一:继承会传递吗?继承可以通过继承传递,不会通过依赖传递。

问题二:某个项目的模块使用父项目的继承吗?使用,这个框图中的baidu-tieba的子模块是间接继承了baidu-parent的。

问题三:为什么不继承commons而是依赖commons?commons是一个jar工程,是没办法进行继承的,况且

 commons只是包含大多数项目中可能用到的工具类与jar包引入,但是并不应该强制引入该commons,commons在逻辑上是和tieba处在同一个层级。

问题四:继承与聚合的关系?1.被继承的工程只能是pom工程,聚合其他工程的工程也只能是pom工程;

 2.继承需要在子工程中使用parent标签声明,聚合需要在模块中使用parent声明聚合工程,且需要在聚合工程使用module声明聚合的模块。

问题五:只是使用依赖貌似也可以完成工程模块化,那聚合的作用优势在哪里?


总结一:pom工程中不仅可以指定dependencyManagement也可以指定dependencies,该pom工程的子工程会自动添加dependencies中指定的依赖,dependencyManagement中的依赖需要手动在子工程中添加ga定位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值