黑马程序员技术交流社区
标题: 【上海校区】IDEA实用教程---创建多模块的Maven项目 [打印本页]
作者: buguniao 时间: 2017-8-26 01:42
标题: 【上海校区】IDEA实用教程---创建多模块的Maven项目
本帖最后由 绮丽 于 2017-8-28 09:51 编辑
1. 前言我们可以创建一个maven的war工程来完成一个web项目的开发。但是,如果这个项目的业务比较复杂就会导致项目体系庞大,在一个war工程中完成所有的编码就会带来以下问题:
1.项目过于臃肿;
2.项目的结构不清晰;
3.代码的重用性低;
鉴于以上问题,我们可以通过创建maven的聚合工程来对我们的项目进行分层(模块)开发。接下来我们将使用IDEA创建如图1-1所示的maven聚合工程。
图1-1 maven聚合工程结构
2. 创建步骤
2.1 创建Parent Project ParentProject是聚合工程中的父工程,一个项目中只有一个。父工程管理子工程和项目中用到的maven依赖。
ParentProject在IDEA的maven结构中是一个普通的maven工程,创建时不需要使用maven骨架,具体创建过程如下:
第一步:如图2-1所示File à New àProject
图2-1 创建Parent Project第一步
第二步:如图2-2 所示 选择maven然后next
图2-2 创建Parent Project 第二步
第三步:如图2-3 所示:填写Parent Project的maven坐标信息
图2-3 填写maven的坐标信息
第四步:如图2-4所示:填写maven项目的项目名称和存储目录
图2-4 填写maven的项目信息
第五步:如图2-5:maven的Parent Project创建完成
图2-5 Parent Project的项目结果
第六步:删除src目录
因为Parent Project是用于管理子模块和依赖的工程,不需要在这个工程中书写代码,所以要删除src目录。
第七步:配置maven环境
如图2-6所示 在IDEA的FileàSettingsàMaven选项中设置maven的环境
如图2-7所示 在Maven home directory栏选择MAEN_HOME目录,在User settings file栏选择MAVEN_HOME目录中的config目录中的settings.xml配置文件。
注:MAVEN_HOME目录为maven的安装目录
图2-6 图2-7
2.2 创建pojo模块pojo模块是Parent Project下的一个打包方式为jar的module。在IDEA中jar工程和pom工程一样,都是普通的maven工程。创建方式如下:
第一步:如图2-8所示,在demo-parent上点击鼠标右键-àNewàModule
图2-8 创建demo-pojo子模块
第二步:如图2-9选择Maven,然后点击Next
图2-9 创建demo-pojo子模块
第三步:如图2-10 所示,在1处填写demo-pojo的Artifactid:demo-pojo
然后点击Next
图2-10 创建demo-pojo子模块
第四步:如图2-11所示 在1处的Module name填写module名:demo-poj。然后点击Finish完成demo-pojo模块的创建。
图2-11 创建demo-pojo模块
2.3 创建common,dao,service模块由于common,dao黑service模块都是jar工程,所以创建过程与2.2 创建pojo模块一样。只是在Artifact名和module名称处填写相应的模块名。
创建完成后项目结构如图2-12:
图2-12 创建common,dao,service模块
2.4 创建controller模块Controller模块为war工程,创建的时候需要依赖maven的骨架。具体创建过程如下:
第一步:如图2-13所示:在demo-parent父工程上右键创建module
图2-13 创建controller模块
第二步:如图2-14 选择MavenàCreatefrome archetypeàmaven-archetype-webappàNext
如2-14 创建controller子模块
第三步:如图2-15 在1处填写Artifactid:demo-controller然后点击Next
图2-15:创建controller模块
第四步:配置maven环境,如图2-16所示
1-检查maven的MAVEN_HOME和User settings file配置是否正确,如果正确就不需要在配置了;
2-点击+添加Maven参数属性
3-在Name处输入:archetypeCatalog
4-在Value处输入:internal
点击OK然后Next进入下一步
注:第3,4步添加Maven的property是指定maven的war工程加载本地的maven元数据,如果不指定就默认从中央仓库去加载。从中央仓库加载元数据会非常慢,所以需要手动配置这个参数。
图2-16 创建controller子模块
第五步:填写Module Name,然后点击Finish完成controller模块的创建
图2-17 创建controller子模块
3. 添加依赖关系创建完成子模块后,还需要将各个模块的依赖关系建立起来。Demo-parent父工程下的子模块之间的依赖关系如下:
1.pojo依赖common
2.dao依赖pojo
3.service依赖dao
4.controller依赖service
如图3-1:在demo-pojo.xml中添加demo-common的坐标即可;
注:只需要书写<dependency>标签然后根据提示在artifactId中填写artifactId名称即可。
图3-1 在demo-pojo.pom中依赖demo-common
其他层的依赖关系均可按照上图所示的方法添加。
4. 启动项目项目的启动方式请参考《IDEA实用教程之---创建Maven项目》:http://bbs.itheima.com/forum.php?mod=viewthread&tid=365375&extra=
作者: 播妞 时间: 2017-8-26 05:46
这个厉害了,好详细!
作者: buguniao 时间: 2017-8-26 13:22
{:8_484:}多谢多谢!欢迎顶帖
作者: evan.zhou 时间: 2017-11-5 17:28
腾哥,idea 教程之Git hub那一篇出了么
作者: evan.zhou 时间: 2017-11-5 17:47
腾哥,eclipse的maven工程都有test目录和main一起被创建好的,专门用于写测试类的,idea maven工程需要手动创建么
作者: a391557355 时间: 2017-12-4 09:14
没比你全的了。感谢疼哥
作者: Yin灬Yan 时间: 2018-1-4 17:29
我来占层楼啊
作者: OldYangman 时间: 2018-3-16 17:34
啊不错啊不错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |