二:maven构建module
通常情况下,我们一个项目是需要分多个模块的,这是我们用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的更多相关文章
- Maven学习总结(二)——Maven项目构建过程练习
上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...
- Maven学习总结(二)——Maven项目构建过程练习_转载
上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...
- 转】Maven学习总结(二)——Maven项目构建过程练习
原博文出自于:http://www.cnblogs.com/xdp-gacl/p/4051690.html 感谢! 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven ...
- (转)Maven学习总结(二)——Maven项目构建过程练习
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...
- Sonar+Hudson+Maven构建系列之二:迁移Sonar
摘要:由于昨天在一台机器上安装的东西太多了,导致Linux机器上非常卡,一台Linux负担了jira, fisheye, confluence, sonar, hudson, mysql 等等,本来已 ...
- 利用Eclipse中的Maven构建Web项目报错(二)
利用Eclipse中的Maven构建Web项目 1.错误描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.a ...
- 利用Eclipse中的Maven构建Web项目(二)
利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/ ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
- 使用Maven构建多模块项目
[转] 使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层).dao(数据库访问层).service(业务 ...
随机推荐
- oracle 新建数据库 ,新建用户
net manager 数据库名----电脑名localhost 1521 , 服务名 orcl (oracle 版本不一样, 不同版本不一样,,) 然后测试.. sys 账号登录 新建用 ...
- java中配置自定义拦截器中exclude-mapping path是什么意思?
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/>//过滤全部请求 & ...
- 使用java做paypal开发时购买东西支付不成功的原因
使用java做paypal开发时购买东西支付不成功的原因 没有设置网站习惯设定,登陆自己的paypal账户,在网站习惯设定上填写回调的url路径,这样就可以 支付成功了并且异步修改订单的状态. 支付成 ...
- 2018.09.19 atcoder Snuke's Coloring(思维题)
传送门 谁能想到这道题会写这么久. 本来是一道很sb的题啊. 就是每次选一个点只会影响到周围的九个方格,随便1e9进制就可以hash了,但是我非要作死用stl写. 结果由于技术不够高超,一直调不出来. ...
- redis学习-事务命令
multi:开启事务 exec:提交事务 discard:取消事务 1.开启事务之后,每次执行命令之后,都要先进入事务队列中,只有在执行 exec之后才开始执行 2.开启事务之后,每次执行命令之后,都 ...
- 32. My Experiences in the Factories 我在工厂的经历
32. My Experiences in the Factories 我在工厂的经历 ① I've worked in the factories surrounding my hometown e ...
- Django入门指南-第8章:第一个测试用例(完结)
python manage.py test python manage.py test --verbosity=2 # boards/tests.py from django.core.urlreso ...
- gj9 迭代器和生成器
9.1 python的迭代协议 list内部实现了__iter__()协议(魔法函数),是可迭代对象,但还不是迭代器(迭代器需要实现__next__协议) 生成器实现了__iter__(),__nex ...
- IntelliJ IDEA 2017版 SpringBoot的关闭自动配置和自定义Banner
一.关闭自动配置 在jar包下找下边的名字 设置关闭自动配置jar 多个的时候配置 二.自定义Banner (1)网站搜索一个图案.网址:http://patorjk.co ...
- mysql图文安装教程(win7 32位 亲测)
一.下载mysql:http://www.mysql.com/downloads/ 弹出: 你需要有一个 Oracle Web 帐户,没有的话,注册一个: 勾选许可: 输入搜索条件: 下载MySQL ...