idea创建Web项目(基于Maven多模块)
简述:通常我们开发的项目结构是由多个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多模块)的更多相关文章
- IDEA创建Web项目(maven)
第一步:创建项目 第二步:使用maven创建,并选择jdk 第三步:修改项目名称 第四步:选择自动导入依赖(很重要!!) 第五步:添加核心依赖和打包 第六步:编译一下 第七步:配置web容器(这里是用 ...
- maven命令行创建web项目报错:java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
早上一上班就想新建一个web项目玩玩,没想到一敲命令创建就失败了,真是出师不利.各种折腾无果,当然我也可以用eclipse直接创建的,就是不甘心被这破问题给耍了.刚刚才发现问题原因,这个结果我也是醉了 ...
- 【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 ...
- eclipse中Maven创建WEB项目
刚刚学到Maven的时候总是容易忽视到一些创建Maven项目是的步骤, 这里记录笔者熟悉一种,直接创建Maven Project 下面开始吧--- 选择web-app,没得说,然后那些groupID ...
- IDEA之web项目(maven项目)创建
1.下载IDEA付费版,有30天的试用期,免费版创建不了web项目(导入不了tomcat). 网址:IntelliJ IDEA :: Download Latest Version of Intell ...
- Maven学习总结(七)——eclipse中使用Maven创建Web项目
一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示:
- Maven——eclipse中使用Maven创建Web项目
原文:http://www.cnblogs.com/xdp-gacl/p/4054814.html 一.创建Web项目 1.1 选择建立Maven Project 选择File -> New - ...
- 转】Maven学习总结(七)——eclipse中使用Maven创建Web项目
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4054814.html 感谢! 一.创建Web项目 1.1 选择建立Maven Project 选择File -& ...
- 使用Maven在Eclipse中创建Web项目[转]
一.新建 Maven Web项目 1.新建Maven Project new project-->选择 Maven Project --> 下一步 选择工作空间 -->下一步 在Fi ...
随机推荐
- View Controller Programming Guid for iOS 笔记
1.View Controller 基础 1.1 View Controller 分类 ViewController分为container view controller 和content view ...
- 大学毕业时成都SAP和深圳腾讯的Offer,我是怎么选择的
2006年校园招聘,我拿到了SAP成都研究院和深圳腾讯的offer,而我最后选择了前者. 当时我主要是基于以下四点考虑. SAP成都有最优秀的人才 2006年SAP成都研究院刚刚成立,对人才的挑选非常 ...
- sed 删除文本中的内容
删除命令对照表 练习例子 删除/etc/passwd中的第15行 sed -i '1d' passwd 删除/etc/passwd中的8行到14行的所有内容 sed -i '8,14d' passwd ...
- sql sever2008 R2 检测到索引可能已损坏。请运行 DBCC CHECKDB。
1.设置成单用户状态 USE MASTER ALTER DATABASE DBNAME SET SINGLE_USER; GO --DBNAME为修复的数据库名 2.执行修复语句,检查和修复数据库及索 ...
- 【ogg三】日常运维篇:清理归档日志,ogg进程注册服务,定期备份数据库
清理归档日志 ogg使用需要开启归档日志,归档日志会随着时间的推移逐渐增多,占满空间,导致应用无法正常运行. 如果归档日志满了会报错 ORA-00257:archiver error解决办法 检查fl ...
- Mysql之表的查询
一.单表的查询 首先让我们先熟悉一下mysql语句在查询操作时执行的顺序: (1)from (2) on (3) join (4) where (5)group by (6) avg,sum ...
- vue-quill-editor + iview 实现富文本编辑器及图片上传
1.npm 安装 vue-quill-editor npm install vue-quill-editor 2.再main.js中引入 import VueQuillEditor from 'vue ...
- jupyter notebook new Python3报错:Permission denied: Untitled.ipynb,修改workspace
点击新建Python文件即弹出弹窗显示 Permission denied: Untitled.ipynb 看到Permission denied 尝试是权限问题进行解决,各种百度结果都是对文件进行权 ...
- 容器自动化(一):docker基础(上)
一,Docker简介,功能特性与应用场景 1.1 Docker简介 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上 ...
- 十年种树----小白的起点save
大家好,给大家介绍一下我自己.各平台通用ID:琴鬼白羊,男,一个24岁学习采矿工程的在读研究僧,一个24岁还在想学习计算机的小白. 非洲经济学家Dambisa Moyo在他的<dead aid& ...