通常情况下,我们一个项目是需要分多个模块的,这是我们用maven管理项目就需要构建一个多模块的项目;

通常的结构是一个模块中有一个主项目,下面包含多个子项目,如果是web项目则子项目中有一个是javaweb项目,主项目的作用是给子项目用来继承的;

以下是使用maven构建一个模块的具体步骤:以构建一个项目 主项目下包含 domain dao service 和web层为例来进行说明:

1:构建用来被继承的主项目(项目名称为:parent):

使用命令行构建一个java项目,项目名为parent(假设在 D:\maven\MavenModule 项目下构建):

mvn archetype:create -DgroupId=%a3% -DartifactId=%a4% -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

将以上命令行的占位符替换为相应的包名和项目名即可;

此时构建好的项目包含 src目录和pom.xml文件,该项目是用来被继承的,不需要用来实现具体的业务逻辑:只保留pom.xml文件即可,删除src目录,同时更改pom.xml文件的内容:

将打包的方式改为pom的方式:更改后pom.xml文件如下所示:

2:构建domain项目:

由于项目是需要继承parent项目的,则在目录结构是的体现是domain项目在D:\maven\MavenModule\parent 下构建:

和构建parent项目使用的命令行一致来构建domain项目:

构建好的domain项目需要删除pom.xml文件中的包名(即groupId)这项:继承主项目的,增加打包方式为jar

更改后的pom.xml文件如下:

这是在parent项目的pom.xml中会有domain项目依赖的体现

3:使用同样的方式构建dao 和 service项目:这里略过

4:构建web项目:

在D:\maven\MavenModule\parent目录下使用以下的命令行构建web项目:

mvn archetype:create -DgroupId=%a3% -DartifactId=%a4% -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

同样的构建好web项目后,maven默认的servlet版本是2.3,如需要更新的版本则需要更改web.xml文件头;

构建好了module之后,需要按照maven的标准结构来添加相应的目录结构:

添加了相应的目录后的结构如下:这里只展开domain 和web目录作为参考:

到此,一个完整的module项目就构建好了,只需要将其发布到tomacat容器或jetty容器即可以跑起来了

下一章介绍pom.xml,以即 maven+spring 项目打包时的一些注意点

二:maven构建module的更多相关文章

  1. Maven学习总结(二)——Maven项目构建过程练习

    上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...

  2. Maven学习总结(二)——Maven项目构建过程练习_转载

    上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...

  3. 转】Maven学习总结(二)——Maven项目构建过程练习

    原博文出自于:http://www.cnblogs.com/xdp-gacl/p/4051690.html 感谢! 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven ...

  4. (转)Maven学习总结(二)——Maven项目构建过程练习

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...

  5. Sonar+Hudson+Maven构建系列之二:迁移Sonar

    摘要:由于昨天在一台机器上安装的东西太多了,导致Linux机器上非常卡,一台Linux负担了jira, fisheye, confluence, sonar, hudson, mysql 等等,本来已 ...

  6. 利用Eclipse中的Maven构建Web项目报错(二)

    利用Eclipse中的Maven构建Web项目 1.错误描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.a ...

  7. 利用Eclipse中的Maven构建Web项目(二)

    利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/ ...

  8. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

  9. 使用Maven构建多模块项目

    [转] 使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层).dao(数据库访问层).service(业务 ...

随机推荐

  1. ip白名单 通过* ? 检测IP匹配 轻量级

    #include "stdafx.h" #include <windows.h> #include <string.h> #include <asse ...

  2. org.apache.commons札记

    StringUtils.isBlank(null); //trueStringUtils.isBlank(""); //trueStringUtils.isBlank(" ...

  3. 在EF中使用MySQL的方法及常见问题

    有时需要在网上租用空间或数据库,Mysql成本低一些,所以想将sql server转成mysql…… 注意:在安装Mysql时要选择文字集为utf8,否则将不能使用中文(当前也可以在创建数据库时使用u ...

  4. python 求最大子序列

     动态规划的本质,是对问题状态的定义和状态转移方程的定义.dynamic programming is a method for solving a complex problem by breaki ...

  5. html5获取经纬度

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. (并查集) Wireless Network --POJ --2236

    链接: http://poj.org/problem?id=2236 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82830#probl ...

  7. ZUFE2389: Occult的卡片升级计划(DP) 2016-05-17 23:12 113人阅读 评论(0) 收藏

    2389: Occult的卡片升级计划 Description Occult喜欢玩一款手游,手游中有很多好看的卡片.他想要升级这些卡. 现在他有m块经验石,目标是强化一张卡片,卡片最开始的时候是0级, ...

  8. iOS Development和iOS Distribution有什么区别

    http://zhidao.baidu.com/link?url=T9od33JuA7jjxzfyV-wOjuVLSNUaqpc9aoCu2HjfYfHBuRLW1CNDii0Bh9uvG6h-GeJ ...

  9. 论文笔记(4)-Deep Boltzmann Machines

    Deep Boltzmann Machines是hinton的学生写的,是在RBM基础上新提出的模型,首先看一下RBM与BM的区别 很明显可以看出BM是在隐含层各个节点以及输入层各个节点都是相互关联的 ...

  10. Struts2-057/CVE-2018-11776两个版本RCE漏洞分析(含EXP)

    0x01 前言 2018年8月22日,Apache Strust2发布最新安全公告,Apache Struts2存在远程代码执行的高危漏洞(S2-057/CVE-2018-11776),该漏洞由Sem ...