Maven 通过maven对项目进行拆分、聚合(重点)
对现在已有maven ssh项目进行拆分,拆分思路:将dao层的代码已经配置文件全体提取出来到一个表现上独立的工程中。同样service、action拆分。
ssh-parent: 父工程
ssh-dao:(子模块)
ssh-service
ssh-web
拆分完成对拆分后的项目进行聚合,提出概念父工程
1.1 创建父工程
创建好父工程目录结构:只有pom.xml,可以推断父工程不进行编码。
1、 项目需要的依赖的信息,在父工程中定义,子模块继承过程
2、 将各个子模块聚合到一起
1.1 将创建父工程发布到本地仓库
将来service、dao工程发布到本地仓库。发布的service工程会报错。
如果忘记此步骤,将父工程发布到本地仓库。
1.1 创建子模块ssh-dao
Ssh-dao负责数据访问层:包含dao相关代码&配置文件
1.1.1 将spring的配置文件拆分
1.1 创建子模块ssh-service
将ssh-dao工程打包到本地仓库;
在service工程pom.xml文件添加ssh-dao的依赖
1.1.1 单元测试
1、 批量加载spring配置文件
a) classpath:spring/applicationContext-*.xml
b) classpath*:spring/applicationContext-*.xml:既要加载本项目中配置文件,还要加载jar包中配置文件
2、 传递依赖范围(了解)
A:ssh-service 工程
B:ssh-dao工程
C:junit单元测试
总结:当项目中需要的某一个依赖没有传递过来。在自己工程中添加对应依赖就可以。
不一定要把前面的依赖都修改一遍,直接在自己模块添加进来即可。
1.1 创建子模块ssh-web:war
在ssh-web项目中添加service工程依赖。
Web.xml
1.1 运行方式
Maven方式:
方式1:运行父工程。父工程将各个子模块聚合到一起。将ssh-web打war包发布到tomcat
方式2:直接运行web工程
其他方式:
部署到tomcat
Maven 通过maven对项目进行拆分、聚合(重点)的更多相关文章
- maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过maven将一个ssh项目分割为不同的几个部分独立开发,很重要,加油 --WH 一.maven父工程与子模块的拆 ...
- Maven项目的拆分与聚合
---------------------siwuxie095 Maven 项目的拆分与聚合 1.对已有的 Ma ...
- 转帖:maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)
出处:http://www.cnblogs.com/whgk/p/7121336.html 前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过maven将一个ss ...
- 使用maven来管理java项目
初学maven,简单总结一下学习心得,若有不对的地方,欢迎各位大神给我指正~ 总结分为6个部分 maven概述 maven安装 maven项目结构和创建方法 maven配置文件settings.xml ...
- 【Maven】使用Maven构建多模块项目
Maven多模块项目 Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理.尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定 ...
- 从头开始基于Maven搭建SpringMVC+Mybatis项目(1)
技术发展日新月异,许多曾经拥有霸主地位的流行技术短短几年间已被新兴技术所取代. 在Java的世界中,框架之争可能比语言本身的改变更让人关注.近几年,SpringMVC凭借简单轻便.开发效率高.与spr ...
- 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...
- maven 配置多模块项目 pom modules
所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...
- maven课程 项目管理利器-maven 3-10 maven聚合和继承 4星
本节主要讲了以下内容: 1 maven聚合 2 maven继承 1 maven聚合 <!-- 聚合特有标签 --> <groupId>com.hongxing</grou ...
随机推荐
- 2018.11.26 QLU新生赛部分题解
问题 L: 寄蒜几盒? 题目描述 现在有一个圆圈,圆圈上有若干个点,请判断能否在若干个点中选择三个点两两相连组成一个等边三角形? 这若干个点在圆圈上按顺时针顺序分布. 如果可以的话输出"Ye ...
- WPF界面+halcon生成的C#文件
1.新建WPF应用程序完成后,解决方案资源管理器——引用处右键,添加引用如下两个dll 工具箱,空白处右键,选择项(只添加halcondotnet.dll,位置同上).这样halcon平台的控件就添加 ...
- (栈)leetcode496. Next Greater Element I
You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of n ...
- python之三元表达式、列表推导、生成器表达式、递归、匿名函数、内置函数
目录 一 三元表达式 二 列表推到 三 生成器表达式 四 递归 五 匿名函数 六 内置函数 一.三元表达式 def max(x,y): return x if x>y else y print( ...
- libmysqlclient.so.18: cannot open shared object file
libmysqlclient.so.18: cannot open shared object file 解决libmysqlclient.so.18: cannot open shared obje ...
- label与input之间的对应
实现点击文字对应的框可以被选中,再点击一下文字框又取消选中 label的for属性与input的id属性值对应,即可实现.
- MarkdownPad使用
正文: 1.标题的几种写法: 第一种: 前面带#号,后面带文字,分别表示h1-h6,上图可以看出,只到h6,而且h1下面会有一条横线,注意,#号后面有空格 第二种: 这种方式好像只能 ...
- tmux用法【常用】
类似各种平铺式窗口管理器,tmux使用键盘操作,常用快捷键包括: Ctrl+b 激活控制台:此时以下按键生效 系统操作 ? 列出所有快捷键:按q返回 d 脱离当前会话:这样可以暂时返回Shell界面, ...
- Spark SQL基本概念与基本用法
1. Spark SQL概述 1.1 什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了两个编程抽象分别叫做DataFrame和DataSet,它们用于作为 ...
- 转 -- Vim 常用快捷键
``` 全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v : ...