简述:通常我们开发的项目结构是由多个modules项目组合而成,并且由有个parent的maven项目整体管理。废话少说,直接进入创建过程。

创建parent项目

1、打开idea工具,按照下图操作,点击Project;

2、注意这里不要勾选模板,用模板创建过maven项目的小伙伴都知道模板创建项目非常慢,所以这里不要选模板,需要的文件夹我们后面自己来创建就可以了。所以这个页面直接点击下一步。

3、填入GroupId(公司组织)和Artifactid(模块的名字)、版本号默认即可,点击下一步,如下图所示:

4、创建project name(项目名称),此处可以修改项目名称,默认带出来的内容是healthwj,我改成了health-wj(健康无界),点击下一步继续;

5、一个project就创建好了,我们的project主要用来管理第三方依赖,所以这里的src目录要删掉,此时parent项目就创建完毕了。

创建子模块

1.选中health-wj项目,右键单击new ---> Module

2、这里继续不选择模板,和创建parent项目一样直接点击下一步:

3、填入子模块的名字,然后点击下一步:

4、直接finish就创建好了一个子模块: 默认回显内容是healthclient,我修改为health-client;

5、创建完成的子项目结构入下图所示:

6、重复上面的步骤,把项目结构创建完整,如下图所示:

此时创建的都是普通的Java项目,而不是JavaWeb项目,在一个JavaWeb项目中,我们的模块可能分为client、commons、dao、domain、rpc、service、web等几个模块,这些模块中除了web模块是web项目结构,其他模块都是普通的Java项目,本例中web项目现在还是java项目,我们将它改造为一个web项目。

1、在打开的页面中,先选择health-web,然后点击左上角的+号,选择web,如下:

2、在新打开的页面中,做如下操作:

3、修改web.xml文件的路径,如下;

OK ,至此,我们就将health-web成功的改造成了一个web项目,此时我们的项目结构如下:

项目构建

接下来我们health-service模块中提供一个方法,然后在health-web中来调用,我们看看如何实现。

1.在health-service中添加HelloWorld类,如下:

2.在health-web中引用health-service模块,修改health-web的pom.xml文件即可,如下:

3、在health-web中添加index.jsp页面,在该页面中调用health-service模块中的方法,内容如下

4、修改health-web的pom.xml文件,使之在构建时生成war文件,其他的不用修改(默认生成jar文件)。如下:

5、做好这一切之后,在IDEA的右侧边栏找到Maven Project 点开,找到parent项目,点开LifeCycle,双击package,打成war包

6、此时默认的war包名字带版本号,我们可以修改pom文件,调整war包的名字。重新打包后入下图所示,war包名字已经被修改。

 

 配置Tomcat运行web项目

1、配置Tomcat

2、部署web项目,设置Deployment选项卡;

idea找不到war exploded包的做法:点击project structure->Artifacts->Web Application:Exploded->From Modules。

新增一个health-war包

新增exploded文件,修改name(exploded文件的名字)和Output directory(war包的文件路径)

增加war包文件

修改name(war文件的名字)和Output directory(war包的文件路径)

OK,可以开心的撸代码了

idea创建Web项目(基于Maven多模块)的更多相关文章

  1. IDEA创建Web项目(maven)

    第一步:创建项目 第二步:使用maven创建,并选择jdk 第三步:修改项目名称 第四步:选择自动导入依赖(很重要!!) 第五步:添加核心依赖和打包 第六步:编译一下 第七步:配置web容器(这里是用 ...

  2. maven命令行创建web项目报错:java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils

    早上一上班就想新建一个web项目玩玩,没想到一敲命令创建就失败了,真是出师不利.各种折腾无果,当然我也可以用eclipse直接创建的,就是不甘心被这破问题给耍了.刚刚才发现问题原因,这个结果我也是醉了 ...

  3. 【maven】maven创建web项目-pom文件提示web.xml is missing and <failOnMissingWebXml> is set to true

    使用maven创建web项目,选择war类型后,pom文件红叉 提示web.xml is missing and <failOnMissingWebXml> is set to true ...

  4. eclipse中Maven创建WEB项目

    刚刚学到Maven的时候总是容易忽视到一些创建Maven项目是的步骤, 这里记录笔者熟悉一种,直接创建Maven Project 下面开始吧--- 选择web-app,没得说,然后那些groupID ...

  5. IDEA之web项目(maven项目)创建

    1.下载IDEA付费版,有30天的试用期,免费版创建不了web项目(导入不了tomcat). 网址:IntelliJ IDEA :: Download Latest Version of Intell ...

  6. Maven学习总结(七)——eclipse中使用Maven创建Web项目

    一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示:

  7. Maven——eclipse中使用Maven创建Web项目

    原文:http://www.cnblogs.com/xdp-gacl/p/4054814.html 一.创建Web项目 1.1 选择建立Maven Project 选择File -> New - ...

  8. 转】Maven学习总结(七)——eclipse中使用Maven创建Web项目

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4054814.html 感谢! 一.创建Web项目 1.1 选择建立Maven Project 选择File -& ...

  9. 使用Maven在Eclipse中创建Web项目[转]

    一.新建 Maven Web项目 1.新建Maven Project new project-->选择 Maven Project --> 下一步 选择工作空间 -->下一步 在Fi ...

随机推荐

  1. 基于【 springBoot+jsoup】一 || 爬取全国行政区划数据

    一.代码演示 如果中途中断,可进行刷选过滤已拉取省份数据 /** * TODO * * @author kevin * @createTime 2019-11-18 19:37 */ @RestCon ...

  2. py-2 python介绍与安装

    一.python介绍 1.python背景 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Py ...

  3. Android 通过资源名,获取资源ID

    有时候我们知道一个图片的文件名,我们需要知道在R文件中,该资源的ID,使用如下方法: public static int getIdByName(Context context, String cla ...

  4. php中long2ip和2iplong

    <?php $string=ip2long("127.0.0.1"); $ip=long2ip($string); echo $string; echo "< ...

  5. 切换Python环境 linux终端命令行

    切换Python环境 conda info -e // 查看有什么环境 source activate env //切换环境 linux终端分屏 terminator  https://www.jia ...

  6. Bcompare 提示 “这个授权密钥已被吊销” 解决方法

    Bcompare 提示 “这个授权密钥已被吊销” 解决方法 打开文件夹 %appdata%\Scooter Software 找到相应的版本,例如 Beyond Compare 3 删除里面的 BCS ...

  7. 国内可用的python源

    国内可用的python源 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/ 阿里云:http://mirrors.aliyun.com/pypi/simpl ...

  8. JS转换HTML转义符 [转]

    最近有个需求,就是后台系统编辑文章内容存到后台,前端这边获取到是转义后的字符串,如果直接将转义后的内容写在页面上,html标签不会被解析.网上找到觉得不错的功能函数,这里记录一下 //去掉html标签 ...

  9. VueRouter基础

    安装 直接下载(官方CDN) https://unpkg.com/vue-router/...通过页面script标签引入,如下: <script src='https://unpkg.com/ ...

  10. GIL 信号量 event事件 线程queue

    GIL全局解释器锁 官方解释: In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple n ...