本帖最后由 绮丽 于 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=
|