A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 shjava 于 2017-9-20 21:32 编辑

IDEA实用教程创建Maven聚合工程



1. 前言

我们可以创建一个maven的war工程来完成一个web项目的开发。但是,如果这个项目的业务比较复杂就会导致项目体系庞大,在一个war工程中完成所有的编码就会带来以下问题:
  1.项目过于臃肿;
  2.项目的结构不清晰;
  3.代码的重用性低;
鉴于以上问题,我们可以通过创建maven的聚合工程来对我们的项目进行分层(模块)开发。接下来我们将使用IDEA创建如图1-1所示的maven聚合工程。
图1-1 maven聚合工程结构


2. 创建步骤

2.1 创建Parent Project
       ParentProject是聚合工程中的父工程,一个项目中只有一个。父工程管理子工程和项目中用到的maven依赖。
       ParentProjectIDEAmaven结构中是一个普通的maven工程,创建时不需要使用maven骨架,具体创建过程如下:
       第一步:如图2-1所示File à New àProject
2-1 创建Parent Project第一步

第二步:如图2-2 所示  选择maven然后next
2-2 创建Parent Project 第二步
第三步:如图2-3 所示:填写Parent Projectmaven坐标信息
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所示 IDEAFileà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下的一个打包方式为jarmodule。在IDEAjar工程和pom工程一样,都是普通的maven工程。创建方式如下:

  第一步:如图2-8所示,在demo-parent上点击鼠标右键-àNewàModule
2-8 创建demo-pojo子模块
  第二步:如图2-9选择Maven,然后点击Next
2-9 创建demo-pojo子模块
  第三步:如图2-10 所示,在1处填写demo-pojoArtifactiddemo-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模块
    由于commondaoservice模块都是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处填写Artifactiddemo-controller然后点击Next
2-15:创建controller模块
  第四步:配置maven环境,如图2-16所示
              1-检查mavenMAVEN_HOMEUser settings file配置是否正确,如果正确就不需要在配置了;
                  2-点击+添加Maven参数属性
                  3-Name处输入:archetypeCatalog
                  4-Value处输入:internal
                  点击OK然后Next进入下一步
                  注:第3,4步添加Mavenproperty是指定mavenwar工程加载本地的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项目》


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马