文档章节

使用maven搭建多模块web项目

zqz_pp
 zqz_pp
发布于 2017/02/20 17:00
字数 814
阅读 9
收藏 0

用maven创建多模块的web项目,在项目开发中多模块便于后期的维护,此例中项目结构如下:

zhangqz-main

            |----pom.xml    

            |----zhangqz-damain

                            |----pom.xml

            |----zhangqz-dao

                            |----pom.xml

            |----zhangqz-service

                            |----pom.xml

            |----zhangqz-web

                            |----pom.xml

一、创建zhangqz-main项目

        创建zhangqz-main,用来给各个子模块继承。

        进入工作空间,执行如下maven命令:

       mvn archetype:generate -DgroupId=com.zqz.example -DartifactId=zhangqz-main                          - DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

        (注:由于我用的maven版本create命令已经过期,这里使用generate替换create)

        执行命令之后会在工作空间创建zhangqz-main目录,目录下有src目录和pom.xml文件

        

        将src文件夹删除,修改pom.xml文件,将<packing>jar</packing>修改为<packaging>pom</packaging>,pom表示它是一个被继承的模块,修改后内容如下:

        

二、创建zhangqz-damain模块

        进入zhangqz-main目录,执行如下命令:

        

        命令执行之后会在zhangqz-main目录下生成zhangqz-domain,其中包含src目录和pom.xml文件

        

        同时在zhangqz-main目录中的pom.xml文件中自动添加如下内容:

        

        这时,zhangqz-main的pom.xml文件内容如下:

        

        将zhangqz-domain中的<groupId>com.zqz.example</groupId>和<version>1.0-SNAPSHOT

        </version>去掉,加上<packaging>jar</packaging>,因为zhangqz-domain会继承zhangqz-

        main的 groupId和version,packaging设置打包方式为jar包。

        修改后pom.xml文件内容如下:

        

        三、创建zhangqz-dao模块

        在zhangqz-main目录下执行如下命令:

        

        命令执行结束会出现与zhangqz-domain同样的效果,在zhangqz-main目录下会有zhangqz-dao文

        件夹。

        同时在zhangqz-main的pom.xml文件中也会多了<module>zhangqz-dao</module>(这里就不

        截图了)

        让后将zhangqz-dao的pom.xml文件中的<groupId>com.zqz.example</groupId>和<version>

        1.0-SNAPSHOT</version>,添加<packageing>jar</packaging>,同时添加对zhangqz-domain

        模块的依赖。内容如下:

        

四、创建zhangqz-service模块

        在zhangqz-main目录下执行如下命令

        

        命令执行结束之后可以看到zhangqz-main目录下生成zhangqz-service文件夹,同时在zhangqz-

        main的pom.xml文件中自动添加了<module>zhangqz-service</module>

        修改zhangqz-service的pom.xml文件,将<groupId>com.zqz.example<groupId>和<version>

        1.SNAPSHOT</version>去掉,添加<packaging>jar</packaging>,zhangqz-service同时依赖

        zhangqz-dao和zhangqz-damain,这里我们只需添加对zhangqz-dao的依赖,因为在zhangqz-

        dao中已经添加了对zhangqz-domain的依赖。修改后内容如下:

        

        五、创建zhangqz-web模块

        在zhangqz-main目录下执行如下命令:

        

        这里同样也会在zhangqz-main目录下生成zhangqz-web文件夹,不同的是在src/main/webapp目录

        下会生成WEB-INF文件夹和index.jsp页面,同时也会在zhangqz-mian的pom.xml文件中自动添加

        <module>zhangqz-web</module>

        然后修改zhangqz-web的pom.xml文件,将<groupId>com.zqz.example</groupId>和<version>

        1.SNAPSHOT</version>去掉,添加<packaging>war<packaging>,同时添加对zhangqz-service

        的依赖。修改后内容如下:

        

六、编译运行web项目

        上面已经创建了一个基于maven的多模块的web项目,由于最终运行的是zhangqz-web模块,所以添加对jetty的支持。修改zhangqz-web的pom.xml文件如下:

        

        在zhangqz-main目录下执行如下命令:

        

        在命令执行成功以后,在zhangqz-web目录下多出target文件夹,里面有zhangqz-web.war文件

        

        

        在zhangqz-web目录中执行如下命令:

        

        出现如下内容证明jetty启动成功:

        

        访问:http://localhost:8080/zhangqz-web,将出现访问页面:

        

        至此整个基于maven的多模块web项目就搭建成功了!

© 著作权归作者所有

zqz_pp
粉丝 0
博文 5
码字总数 4160
作品 0
私信 提问
Maven多模块项目介绍及搭建

对于大型WEB项目的开发一个很重要的部分就是代码的复用和维护管理。但是如果在搭建的时候采用多模块搭建,可以为之后的维护管理及复用提供便利。 接下来是在IntelliJ IDEA中的一个多模块项目...

战五渣
2016/06/13
4K
11
IDEA下Maven多模块项目介绍和搭建

1Maven多模块项目介绍 为了便于演示和表达,在intellij中建了小项目进行举例,如下图所示 其中web-m2模块,依赖于common-utils, common-utils依赖于common-third,如下图所示 web-m1模块 依...

陶加涛
2016/03/19
9.2K
0
Maven多模块项目介绍和搭建

1Maven多模块项目介绍 为了便于演示和表达,在intellij中建了小项目进行举例,如下图所示 其中web-m2模块,依赖于common-utils, common-utils依赖于common-third,如下图所示 web-m1模块 依...

蛙牛
2014/12/09
55.6K
35
maven搭建多模块企业级项目

首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目。 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的文...

无信不立
2014/12/25
0
0
「小程序JAVA实战」java的聚合项目搭建(30)

做了多年的开发,原来很多项目都是一个项目一个工程,如果用到其他的项目的依赖文件的时候的,直接手动copy过来就可以了,自从有了maven后,很多开源的项目和互联网公司都开始使用maven来构建...

IT人故事
08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
51分钟前
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
4
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部