使用maven搭建多模块项目

Posted heyJay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用maven搭建多模块项目相关的知识,希望对你有一定的参考价值。


在平时的Javaweb的项目为了便于代码的维护和管理,通常我会使用maven来构建多模块项目。本文将通过例子来构建一个多模块项目。

1.什么是maven?

maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建和依赖管理。项目构建包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤。依赖管理指的是jar包之间的相互依赖。

2.使用maven的好处

  • maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。

  • maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程。

  • 只需要定义一个pom.xml,使用dependency属性管理依赖的jar包,不用自己手动去下载jar,同时可以使用依赖树查看全部依赖关系,轻松解决jar冲突的问题。

  • 使用Maven可以进行项目高度自动化构建和依赖管理。

3.打包和添加依赖

如果你想要打包你的文件成为一个jar文件,那么你需要一下的maven配置文件(俗称pom.xml),如:

使用maven搭建多模块项目

如果我的project需要依赖a.jar, b.jar. c.jar来编译project.jar里面的源文件。那么,这个时候,只需要在pom文件里面添加对应的依赖就好了。

使用maven搭建多模块项目

4.创建maven多模块项目

工具:IntelliJ IDEA

了解了maven之后,我们将使用maven来创建多模块项目,这里我分为了以下几个模块:

--parent:pom,父工程,管理jar包和plugin等

  |--common:jar,继承父工程,管理工具类

  |--manager:pom,继承父工程,具体项目的父类

     |--manager-dao:jar,数据访问层

     |--manager-service:jar,业务逻辑层

     |--manager-pojo:jar,共用实体类

     |--manager-web:war,后端接口

首先展示以下项目的工程目录:

使用maven搭建多模块项目

简单介绍一下目录结构:

istyle-parent为所有项目的父项目,主要用来管理所有项目使用的jar包及其版本。 

istyle-commons为公共的工具类项目,继承父项目,它会被打成jar包供其它项目使用。 

istyle-manager为我们自己的项目,继承与我们的父项目。 

istyle-manager-pojo为我们自己项目的一个子模块,依赖与istyle-manager,打成jar包。

istyle-manager-dao为我们自己项目的一个子模块,依赖与istyle-manager,打成jar包。 

istyle-manager-service为我们自己项目的一个子模块,依赖与istyle-manager-dao,打成jar包。 

istyle-manager-web为我们自己项目的一个子模块,依赖与istyle-manager-service,打成war包。

5.创建父工程

首先创建一个空的project

使用maven搭建多模块项目

新建完成后,进行下一步

选择File–>New–>Module,进入New Module页面:

使用maven搭建多模块项目

在New Module中进行如下操作:

使用maven搭建多模块项目

点击next,填写以下内容:

使用maven搭建多模块项目

配置本地maven目录及maven仓库配置文件:

使用maven搭建多模块项目

创建父工程最后一步,给Module取名,及选择工作目录,选择完成。

使用maven搭建多模块项目

等待生成pom文件,注意修改打包方式为pom,修改pom文件如下:

使用maven搭建多模块项目

6.创建公用工具类

因为公共工具类是继承自父项目istyle-parent的,所以除了最后一个步骤其他步骤跟父工程一致,在最后一步操作如下:

使用maven搭建多模块项目

等待生成pom文件,注意修改打包方式为pom,修改pom文件如下:

使用maven搭建多模块项目

7.创建开发项目

创建开发项目istyle-manager,其创建步骤同上,同样是继承istyle-parent,同样修改其pom文件:

使用maven搭建多模块项目

8.创建开发项目子模块

创建istyle-manager-pojo,dao,service,web等子模块,详细如下

使用maven搭建多模块项目

这一步注意,与创建istyle-commons时不同,是将其子模块添加到istyle-manager目录下的,操作如下:

使用maven搭建多模块项目

maven的相关配置: 

使用maven搭建多模块项目

注意添加istyle-manager模块:

使用maven搭建多模块项目

9.创建taotao-manager下其它子模块 

上面说的是创建istyle-manager-service子模块,另外三个子模块的创建方式与其类似,有一点不同时,在创建taotao-manager-web子模块时,maven项目的类型选择如下: 

使用maven搭建多模块项目

10.修改子模块的pom文件

子模块pojo,dao,service的打包方式全为jar,只有web子模块打包为war包。

pojo子模块,pom.xml详细如下:

使用maven搭建多模块项目

dao子模块依赖与pojo子模块,pom.xml详细如下:

使用maven搭建多模块项目

service子模块依赖于dao子模块,pom.xml详细如下:

使用maven搭建多模块项目

web子模块依赖与service子模块,pom.xml详细如下:

使用maven搭建多模块项目

11.运行项目

此时,项目已经创建完成。我们使用maven的Tomcat插件来运行项目,首先,我们需先在istyle-manager配置tomcat插件,pom.xml详细如下:

使用maven搭建多模块项目

配置完之后,再配置maven tomcat plugin运行新项目:

使用maven搭建多模块项目

除了istyle-manager配置为tomcat7:run,其他都配置为install,详细如下:

使用maven搭建多模块项目

使用maven搭建多模块项目

配置完成后,把除了istyle-manager模块外,其他模块都安装到本地仓库中,操作如下:

使用maven搭建多模块项目

安装完成后,运行istyle-manager:

使用maven搭建多模块项目

通过浏览器访问: 

到这里,我们的项目环境已搭建成功,接下来便可进行项目的实际开发了。



据说帅的人都会长按关注我




以上是关于使用maven搭建多模块项目的主要内容,如果未能解决你的问题,请参考以下文章

使用maven搭建多模块项目

Maven 搭建spring boot多模块项目(附源码)

eclipse中使用maven搭建多模块项目

Maven搭建多模块企业级项目

SSH项目搭建——Maven多模块搭建项目

Maven多模块的开发项目搭建