Maven总结2/3-----maven工程拆分与聚合
目录
- maven工程拆分与聚合的思想
- maven普通项目和与拆分项目对比
- maven解决代码可重用和便于维护的方案
- 工程和模块的区别
- (1)启动父工程:可以直接启动
- (2)启动web工程
- (3)配置本地tomcat
maven工程拆分与聚合的思想
业务场景
看订单操作
买家:买家要看到订单,必须把数据库中订单数据查询出来。dao层的任务。
卖家:卖家要到订单,必须把数据库中订单数据查询出来。dao层的任务。
一份代码可重用:如果修改维护的话,只用修改一份。
一份代码复制粘贴到不同的地方:复制粘贴几个地方,就要维护及各个地方。
传统ssm框架整合的项目:我们要在每个项目中都防止一套ssm框架的jar包。
如果是maven的ssm工程,有十个项目,我们只需要一套jar包。真正项目中只用放置jar的坐标即可。
maven普通项目和与拆分项目对比
maven解决代码可重用和便于维护的方案
maven把一个完整的项目,分层不同的独立模块,这些模块都有各自独立的坐标。哪个地方需要其中某个模块,就直接引用该模块的坐标即可。
今后如果公司开发一个新项目,我们先考虑问题不是dao, service, utils, domain如何编写,
我们考虑的是,dao, service, utils, domain这些模块是否已经存在,如果存在直接引用。
以上说的就是maven拆分思想。
我们可以把拆分零散的模块聚合到一起编写一个完整的项目,这就是maven聚合思想。
工程和模块的区别
工程 != 完成的项目,模块 != 完成的项目;
一个完成的项目看的是代码,代码完成,就可以说这是一个完整的项目,和此项目是工程和模块没有关系。
工程天生只能使用自己内部资源,工程天生是独立的,后台可以和其他工程或模块建立关联关系。
模块天生不是独立的,模块天生是属于父工程的。模块一旦创建,所有父工程的资源都可以使用。
工程:类似于班级,用自己的资源;
模块:类似于班级里的学生,可以用班级的公共资源,例如垃圾桶;
父工程之间:子模块天生继承夫工程,可以使用父工程所有的资源。
子模块之间:天生没有任何关系。
父子工程之间不用建立关系,继承关系是先天的,不需要手动创建。
平级之间的引用叫依赖,依赖不是先天的,依赖是需要后天建立的。
jar包和代码没有区别,计算机不能识别Java文件,最终识别的是编译成class文件。
jar包事先把Java文件编译成class文件了。
maven拆分与聚合的三种启动方式
(1)启动父工程:可以直接启动
(2)启动web工程
必须 先安装依赖包,再启动:因为web工程以来jar包本地仓库没有
(3)配置本地tomcat
- maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
- Maven工程的拆分与聚合
- maven项目构建ssh工程(父工程与子模块的拆分与聚合)
- maven工程的拆分与聚合,继承思想
- maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
- maven工程拆分与聚合(5)
- Maven拆分聚合应用总结笔记
- maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
- maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
- maven聚合工程的创建和聚合工程的打包
- Maven创建聚合工程方法
- Maven学习总结(三)——聚合和继承
- Maven创建一个聚合工程(框架)
- Maven工程多模块继承和聚合项目创建与数据库测试步骤详解
- Maven工程聚合错误Could not find artifact cn.itcast.parent:itcast-parent:pom:0.0.1-SNAPSHOT and 'parent.rel
- Jenkins+Docker部署Maven聚合工程
- Maven学习总结(五)——聚合与继承
- maven继承、聚合项目中,子工程打包和编译问题
- strom学习总结——我从三个纬度开始:maven工程、徐明明博客和应用场景。