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. iOS中app启动闪退的原因

    这种情况应和所谓的内存不足关系不大,很少有程序会在初始化时载入大量内容导致崩溃,并且这类问题也很容易在开发阶段被发现,所以内存不足造成秒退的可能性低(内存不足退,通常是程序用了一段时间,切换了几个画面 ...

  2. KnockoutJS 3.X API 第四章 表单绑定(12) selectedOptions、uniqueName绑定

    selectedOptions绑定目的 selectedOptions绑定控制当前选择多选列表中的哪些元素. 这旨在与<select>元素和选项绑定结合使用. 当用户选择或取消选择多选列表 ...

  3. js对象私有变量公有变量问题

    0 js对象私有变量公有变量问题5 小弟初学JS面向对象编程 现有一问题 请教各位大虾: Person=function (){ //私有变量定义 var name; vae age; var Ale ...

  4. Introduction of Open CASCADE Foundation Classes

    Open CASCADE Foundation Classes Open CASCADE基础类 eryar@163.com 一.简介 1. 基础类概述 Foundation Classes Overv ...

  5. UVAoj 348 - Optimal Array Multiplication Sequence

    /* 题意:矩阵相乘的最少的步数 dp[i][j]=min(dp[i][j], dp[i][k]+dp[k+1][j]+num[i-1]*num[k]*num[j]); 表示的是第i个矩阵到第j个矩阵 ...

  6. JavaScript之毒瘤

    0.导言 JavaScript中有许多难以避免的问题特性.接下来就一一揭示. 1.全局变量 在所有JavaScript的糟糕特性中,最为糟糕的就是全局变量的依赖.全局变量使得在同一个程序中运行独立的子 ...

  7. C++智能指针简单剖析

    导读 最近在补看<C++ Primer Plus>第六版,这的确是本好书,其中关于智能指针的章节解析的非常清晰,一解我以前的多处困惑.C++面试过程中,很多面试官都喜欢问智能指针相关的问题 ...

  8. Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Spark .时间不一样,SBT是白天编译,Maven是深夜进行的,获取依赖包速度不同 ...

  9. Deep learning:四十五(maxout简单理解)

    maxout出现在ICML2013上,作者Goodfellow将maxout和dropout结合后,号称在MNIST, CIFAR-10, CIFAR-100, SVHN这4个数据上都取得了start ...

  10. JAVA 设计模式 模板方法模式

    定义 模板方法模式 (Template Method) 定义了一个操作中的算法的骨架,而将部分步骤的实现在子类中完成. 模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模 ...