通常情况下,我们一个项目是需要分多个模块的,这是我们用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. oracle 新建数据库 ,新建用户

    net manager   数据库名----电脑名localhost 1521  , 服务名  orcl (oracle 版本不一样, 不同版本不一样,,)  然后测试.. sys 账号登录  新建用 ...

  2. java中配置自定义拦截器中exclude-mapping path是什么意思?

    <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/>//过滤全部请求 & ...

  3. 使用java做paypal开发时购买东西支付不成功的原因

    使用java做paypal开发时购买东西支付不成功的原因 没有设置网站习惯设定,登陆自己的paypal账户,在网站习惯设定上填写回调的url路径,这样就可以 支付成功了并且异步修改订单的状态. 支付成 ...

  4. 2018.09.19 atcoder Snuke's Coloring(思维题)

    传送门 谁能想到这道题会写这么久. 本来是一道很sb的题啊. 就是每次选一个点只会影响到周围的九个方格,随便1e9进制就可以hash了,但是我非要作死用stl写. 结果由于技术不够高超,一直调不出来. ...

  5. redis学习-事务命令

    multi:开启事务 exec:提交事务 discard:取消事务 1.开启事务之后,每次执行命令之后,都要先进入事务队列中,只有在执行 exec之后才开始执行 2.开启事务之后,每次执行命令之后,都 ...

  6. 32. My Experiences in the Factories 我在工厂的经历

    32. My Experiences in the Factories 我在工厂的经历 ① I've worked in the factories surrounding my hometown e ...

  7. Django入门指南-第8章:第一个测试用例(完结)

    python manage.py test python manage.py test --verbosity=2 # boards/tests.py from django.core.urlreso ...

  8. gj9 迭代器和生成器

    9.1 python的迭代协议 list内部实现了__iter__()协议(魔法函数),是可迭代对象,但还不是迭代器(迭代器需要实现__next__协议) 生成器实现了__iter__(),__nex ...

  9. IntelliJ IDEA 2017版 SpringBoot的关闭自动配置和自定义Banner

    一.关闭自动配置 在jar包下找下边的名字    设置关闭自动配置jar    多个的时候配置       二.自定义Banner   (1)网站搜索一个图案.网址:http://patorjk.co ...

  10. mysql图文安装教程(win7 32位 亲测)

    一.下载mysql:http://www.mysql.com/downloads/ 弹出: 你需要有一个 Oracle Web 帐户,没有的话,注册一个: 勾选许可: 输入搜索条件: 下载MySQL ...