1、需求

做一个项目会有很多模块,主要是方便复用,通过各个模块之间聚合。模块也可以独立出来,如公用类库,也可以在做其它项目中使用。该文的实例会有两个模块:分别为dallin-web模块,dallin-utils工具类模块

2、新建一个Maven父项目

  1. 打开IDEA工具,通过file——new——project——maven 如下图所示

2.不勾选Create from archetype,直接点击Next,出现如下界面

3.填写好GroupId和ArtifactId信息后,点击Next
4.填写项目名称,该项目名称为spring-demo-parent,点击Next,出现如图界面

3、建立各个子模块

1.选中建立好的项目后,右击弹出--->New--->Module,如图所示

2.之后弹出来的页面中,直接点击Next,出来如下界面

3.在ArtifactId中我填写dallin-untils(由于会继承了刚创建的父级项目,其它的信息不能修改),填完后,我点击Next
4.填写好后项目名称后,继续点击Next,创建完成。

5.我同样的方式,继续创建dallin-web项目,不过在需要勾选未webapp项目,如下图

6.我选择好创建webapp,其它和上面一样,一直到该项目创建完成!

创建好的web项目,现在配置好tomcat环境后也是能够跑起来的。我们不急跑起来,先去添加好模块之间的关系。

4、模块之间的关联关系

已经创建好了两个子模块,那就需要去添加两个子模块之间的关联。我们知道两个子项目的是web项目会引用utils项目的
子模块关系。

其中dallin-web 是依赖于dallin-utils。我们只需要在dallin-web模块中的POM.XML文件中添加如下图

父模块和子模块。

我们知道了两个模块之间的关系,那parent项目是如何找到wedallin-web子项目和dallin-utils子项目的。在parent里面的POM里面可以找到

<modules>
        <module>dallin-utils</module>
        <module>dallin-web</module>
    </modules> 

子项目有又是如何关联父项目的,在相应的子项目中的pom.xml文件中,有

        <artifactId>spring-demo-parent</artifactId>
        <groupId>com.dallin</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

5、 配置tomcat

1.在Run/Debug Configurations -->点击左上角的“+” -->Tomcat Server --> Local 如下图所示

2.点击Local弹出的窗口中,Deployment --->右边的那个“加号”,选择dallin-web:war exploded

3.启动项目,看到Hello Word

本文pdf版下载:pdf版本下载

本文源代码下载:源码下载

代码项目地址:https://github.com/emaisi/spring-demo-parent

Java一步一步构建web系统 在IDEA下用Maven搭建多模块项目的更多相关文章

  1. 基于Spring、SpringMVC、MyBatis、Druid、Shrio构建web系统

    源码下载地址:https://github.com/shuaijunlan/Autumn-Framework 在线Demo:http://autumn.shuaijunlan.cn 项目介绍 Autu ...

  2. 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_2-2微服务项目的搭建-SpringBoot搭建多模块项目二

    一些重要的配置文件直接复制过来了 jdbc和shiro的配置 application.properties里面的相关配置项的含义 日志界别的配置 数据返回到前端的json的配置 数据源的配置 需要新建 ...

  3. 照葫芦画瓢系列之Java --- eclipse下使用maven创建Struts 2项目

    一.创建Maven项目 http://www.cnblogs.com/zhanqun/p/8425571.html 二.添加struts2核心依赖包以及其他依赖项 打开pom.xm配置界面 点击Add ...

  4. maven之一——多模块项目构建

    参考这个帖子: http://www.cnblogs.com/xdp-gacl/p/4242221.html

  5. Java秒杀系统实战系列~构建SpringBoot多模块项目

    摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”! ...

  6. Web系统如何做到读取客户电脑MAC等硬件信息且兼容非IE浏览器

    我们在实际Web应用中,可能会遇到“需要限定特定的电脑或用户才能使用系统”的问题. 对于一般情况来说,我们用得最多的可能是使用ActiveX控件的方法来实现,但此方案只适用于IE浏览器.为了能兼容不同 ...

  7. SpringBoot+Gradle构建多模块项目

    1 概述 Gradle由于构建速度比Maven快,且比Maven灵活,因此很多后端的应用都使用了Gradle进行构建,但一个问题是,Gradle的多模块项目比较难构建,再加上Gradle的更新非常快, ...

  8. SpringBoot+Maven 多模块项目的构建、运行、打包实战

    前言 最近在做一个很复杂的会员综合线下线上商城大型项目,单模块项目无法满足多人开发和架构,很多模块都是重复的就想到了把模块提出来,做成公共模块,基于maven的多模块项目,也好分工开发,也便于后期微服 ...

  9. 【web maven】新建的项目 controller也有,从前台跳转后台 无法找到对应的controller

    碰上很 愣的问题: 使用maven搭建项目完成,项目页面写好,实体.Dao.Service.Controller都有了,但是指定Controller中的某个方法中一直不能从前台进入后台 原因: 没有w ...

随机推荐

  1. 好友录v1.2.7_Build(7790)

    <好友录>是使用.net Framework4.0+sqlite开发的,属于WingKu(谷毅科技)系列软件之一.它是一款外观时尚.美观,操作简单.易用,功能强大的个人通讯信息管理软件.它 ...

  2. css3使用box-sizing布局

    css3增添了盒模型box-sizing,属性值有下面三个: content-box:默认值,让元素维持W3C的标准盒模型.元素的宽度/高度(width/height)(所占空间)等于元素边框宽度(b ...

  3. KnockoutJS 3.X API 第四章 表单绑定(8) submit、enable、disable绑定

    submit绑定目的 submit绑定即为提交绑定,通常用于form元素.这种绑定方式会打断默认的提交至服务器的操作.转而提交到你设定好的提交绑定回调函数中.如果要打破这个默认规则,只需要在回调函数中 ...

  4. wamp2.5 配置Apache允许外网访问

    找到<Directory "e:/wamp/www/">节点,在里面添加Require all granted

  5. mongodb php

    首先安装扩展,然后才能使用mongodb 一.连接数据库 try { $mongo = new MongoClient(); $db = $mongo->mydb; var_dump($db); ...

  6. Android Handler的使用示例:结合源码理解Android Handler机制(一)

    什么是Handler? Android 的官方解释: 文档分节1:A Handler allows you to send and process Message and Runnable objec ...

  7. HTML的16个全局属性

    前面的话 在HTML中,属性能表达相当丰富的语义,而且属性也会额外提供很多实用的功能,HTML共支持16个常见的全局属性. HTML原有属性 accesskey 作用:浏览器用来创建激活或聚焦元素的快 ...

  8. 邻接矩阵有向图(一)之 C语言详解

    本章介绍邻接矩阵有向图.在"图的理论基础"中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了.和以往一样,本文会先给出C语言的实现:后续再分别给出C++和Java版本的实 ...

  9. Moon River

    读书笔记系列链接地址http://www.cnblogs.com/shoufengwei/p/5714661.html.        昨晚无意中听到了一首英文歌曲,虽不知其意,但是瞬间就被优美的旋律 ...

  10. Android基于mAppWidget实现手绘地图(八)–获取用户地理位置

    你有两种方式确定用户的当前位置: 1.使用安卓标准方式 2. 使用MapWidget的监听器 标准方式: 在你的acivity中加入: LocationManager locManager = (Lo ...