对现在已有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对项目进行拆分、聚合(重点)的更多相关文章

  1. maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)

    前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过maven将一个ssh项目分割为不同的几个部分独立开发,很重要,加油 --WH 一.maven父工程与子模块的拆 ...

  2. Maven项目的拆分与聚合

    ---------------------siwuxie095                                     Maven 项目的拆分与聚合         1.对已有的 Ma ...

  3. 转帖:maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)

    出处:http://www.cnblogs.com/whgk/p/7121336.html 前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过maven将一个ss ...

  4. 使用maven来管理java项目

    初学maven,简单总结一下学习心得,若有不对的地方,欢迎各位大神给我指正~ 总结分为6个部分 maven概述 maven安装 maven项目结构和创建方法 maven配置文件settings.xml ...

  5. 【Maven】使用Maven构建多模块项目

    Maven多模块项目 Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理.尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定 ...

  6. 从头开始基于Maven搭建SpringMVC+Mybatis项目(1)

    技术发展日新月异,许多曾经拥有霸主地位的流行技术短短几年间已被新兴技术所取代. 在Java的世界中,框架之争可能比语言本身的改变更让人关注.近几年,SpringMVC凭借简单轻便.开发效率高.与spr ...

  7. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  8. maven 配置多模块项目 pom modules

    所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml.它们之间通过继承和聚合(也称作多模块,multi-module)相互关联.那么,为什么要这么做呢?我们明明在开发一 ...

  9. maven课程 项目管理利器-maven 3-10 maven聚合和继承 4星

    本节主要讲了以下内容: 1 maven聚合 2 maven继承 1 maven聚合 <!-- 聚合特有标签 --> <groupId>com.hongxing</grou ...

随机推荐

  1. 2018.11.26 QLU新生赛部分题解

    问题 L: 寄蒜几盒? 题目描述 现在有一个圆圈,圆圈上有若干个点,请判断能否在若干个点中选择三个点两两相连组成一个等边三角形? 这若干个点在圆圈上按顺时针顺序分布. 如果可以的话输出"Ye ...

  2. WPF界面+halcon生成的C#文件

    1.新建WPF应用程序完成后,解决方案资源管理器——引用处右键,添加引用如下两个dll 工具箱,空白处右键,选择项(只添加halcondotnet.dll,位置同上).这样halcon平台的控件就添加 ...

  3. (栈)leetcode496. Next Greater Element I

    You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of n ...

  4. python之三元表达式、列表推导、生成器表达式、递归、匿名函数、内置函数

    目录 一 三元表达式 二 列表推到 三 生成器表达式 四 递归 五 匿名函数 六 内置函数 一.三元表达式 def max(x,y): return x if x>y else y print( ...

  5. libmysqlclient.so.18: cannot open shared object file

    libmysqlclient.so.18: cannot open shared object file 解决libmysqlclient.so.18: cannot open shared obje ...

  6. label与input之间的对应

    实现点击文字对应的框可以被选中,再点击一下文字框又取消选中 label的for属性与input的id属性值对应,即可实现.

  7. MarkdownPad使用

    正文: 1.标题的几种写法: 第一种:     前面带#号,后面带文字,分别表示h1-h6,上图可以看出,只到h6,而且h1下面会有一条横线,注意,#号后面有空格 第二种:      这种方式好像只能 ...

  8. tmux用法【常用】

    类似各种平铺式窗口管理器,tmux使用键盘操作,常用快捷键包括: Ctrl+b 激活控制台:此时以下按键生效 系统操作 ? 列出所有快捷键:按q返回 d 脱离当前会话:这样可以暂时返回Shell界面, ...

  9. Spark SQL基本概念与基本用法

    1. Spark SQL概述 1.1 什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了两个编程抽象分别叫做DataFrame和DataSet,它们用于作为 ...

  10. 转 -- Vim 常用快捷键

    ``` 全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v :  ...