分模块构建Maven工程的方法步骤

网友投稿 270 2022-11-17


分模块构建Maven工程的方法步骤

分模块构建Maven工程Demo

1.分模块构建Maven分析

在企业项目开发过程中,由于项目规模庞大,业务复杂,参与的人员比较多,一般会通过合理的模块拆分将一个大型的项目拆分为N多个小模块,分别进行开发。而且拆分出的模块可以非常容易的被其他模块复用。

常见的拆分方式有两种:

第一种:按照业务模块进行拆分,每个模块拆分成一个maven工程,例如将一个项目分为用户模块、订单模块、购物车模块等,每个模块对应就是一个maven工程

第二种:按照层进行拆分,譬如持久层、业务层、表现层等,每个层对应就是一个maven工程

不管是上面哪种拆分方式,通常都会提供一个父工程,将一些公共的代码和配置提取到父工程中进行统一管理和配置。

1.1 Maven工程的继承

在java语言中,类之间是可以继承的,通过继承,子类就可以引用父类中非private的属性和方法。

同样,在maven工程之间也可以继承,子工程继承父工程后,就可以使用在父工程中引入的依赖。 继承的目的是为了消除重复代码。

被继承的Maven项目中的pom.xml文件中的定义是:

com.hj

parent

1.0-SNAPSHOT

pom

被继承的maven工程通常称为父工程,父工程的打包方式必须为pom,

所以我们区分某个maven工程是否为父工程就看这个工程的打包方式是否为pom。 继承的Maven项目中的pom.xml文件中的定义是否为pom。

<parent>

parent

com.hj

1.0-SNAPSHOT

../parent/pom.xml

继承其他maven父工程的工程通常称为子工程, 在pom.xml文件中通过parent标签进行父工程的继承。

1.2 maven工程的聚合

在maven工程的pom.xml文件中可以使用标签将其他maven工程聚合到一起,聚合的目的是为了进行统一操作。例如拆分后的maven工程有多个,如果要进行打包,就需要针对每个工程分别执行打包命令, 操作起来非常繁琐。这时就可以使用标签将这些工程统一聚合到maven工程中,需要打包的时候,只需要在此工程中执行一次打包命令,其下被聚合的工程就都会被打包了。

标签中添加被聚合的Maven工程

1.3分模块构建maven工程具体实现

此案例分模块构建 整合一下SSM测试

1.3.1首先创建父工程

创建完毕会自动打开到pom.xml文件

首先声明pom

父工程的打包方式必须为pom。

随后加入SSM框架所需坐标的jar包版本锁定:

父工程中的pom文件中呢只用于jar包版本的锁定,

子工程用什么直接写坐标不用写version

5.0.5.RELEASE

5.0.5.RELEASE

3.4.5

org.mybatis

mybatis

${mybatis.version}

org.springframework

spring-webmvc

${springmvc.version}

org.springframework

spring-context

${spring.version}

org.springframework

spring-core

${spring.version}

org.springframework

spring-aop

${spring.version}

org.springframework

spring-web

${spring.version}

org.springframework

spring-expression

${spring.version}

org.springframework

spring-beans

${spring.version}

org.springframework

spring-aspects

${spring.version}

org.springframework

spring-context-support

${spring.version}

org.springframework

spring-test

${spring.version}

org.springframework

spring-jdbc

${spring.version}

org.springframework

spring-tx

${spring.version}

1.3.2. 构建子工程 maven_pojo

父工程上右键new -->Module- ->Maven

构建完毕后创建实体类对象

构建完毕 子工程pom文件中显示:

maven_parent

com.hj

1.0-SNAPSHOT

4.0.0

com.hj

maven_pojo

此时父工程maven_parent的pom文件中就会自动的加入:

用于用于聚合其他其他maven工程的标签

子工程已经聚合在父工程中。

1.3.3. 构建子工程 maven_dao

构建dao层

构建完毕后创建相关类,添加配置文件;

在maven_dao模块的pom文件中 添加依赖

com.hj

maven_pojo

1.0-SNAPSHOT

compile

org.mybatis

mybatis

org.mybatis

mybatis-spring

1.3.1

mysql

mysql-connector-java

5.1.32

com.alibaba

druid

1.0.9

org.springframework

spring-context

org.springframework

spring-core

org.springframework

spring-aop

org.springframework

spring-expression

org.springframework

spring-beans

org.springframework

spring-aspects

org.springframework

spring-context-support

org.springframework

spring-test

org.springframework

spring-jdbc

org.springframework

spring-tx

&http://lt;groupId>junit

junit

4.12

1.3.4. 构建子工程 maven_service

构建service层

构建完毕后创建相关类,添加配置文件

在maven_service模块的pom文件中 添加依赖

com.hj

maven_dao

1.0-SNAPSHOT

org.springframework

spring-webmvc

1.3.5. 构建子工程 maven_web

最后构建web模块

构建完毕后创建相关类,添加配置文件

在maven_web的pom文件中加入依赖

com.hj

maven_service

1.0-SNAPSHOT

1.3.6 项目整体结构

项目整体结构如右图所示:

1:maven_parent为父工程,其余工程为子工程,都继承了

父工程maven_parent

2:maven_parent工程将其子工程都进行了聚合

3:子工程之间存在依赖关系,比如maven_dao依赖

maven_pojo、maven_service依赖maven_dao、

maven_web依赖maven_service

1.3.7 测试运行

把maven_web模块添加到tomcat中

分模块构建Maven工程,测试运行成功。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot 集成Shiro的多realm实现以及shiro基本入门教程
下一篇:Java特性队列和栈的堵塞原理解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~