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 ...
随机推荐
- nginx代理(正向代理和反向代理)
正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容 ...
- dubbo和mq的使用场景
MQ:消息队列.生产者消费者模式,可用于对消息实时性要求不高的场景.多进程之间间接调用关系 Dubbo:RPC实现.多进程之间直接调用关系 dubbo 1,rpc的分布式集群支持:负载均衡是对外提供一 ...
- SUSE Ceph RBD Mirror - Storage 6
Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大,拖垮整个集群的写性能.因此,Ceph集群很少有跨域部署 ...
- ant不是内部命令
解压路径为举例路径: 解压在E盘 新建变量ANT_HOME 路径为解压目录如E:/apache-ant-1.7.1 Path中添加路径为%ANT_HOME%/bin; 错误提示: 'ant' 不 ...
- 18计科学期总成绩明细 && 小黄衫团队预选
1.个人所有作业+团队作业总得分排名 2.千帆竞发图 3.各团队每次作业得分汇总 根据团队成绩排名,众志陈成队得分最高,预选为小黄衫团队. 对团队成绩有异议的团队,请在成绩预选发布后的两天内私信助教解 ...
- JDK环境变量配置linux
安装前先查看是否安装过jdk如果安装过则 卸载 1. 确定JDK的版本: rpm -qa | grep jdk rpm -qa | grep gcj 可能的结果是: libgcj-4.1.2-42.e ...
- subprocess、struct模块的简单应用与ssh模型(黏包)
一.subprocess模块 #可以通过传递字符串命令,帮你去实现一些操作系统的命令. import subprocess res = subprocess.Popen("dir" ...
- 通过 cross apply 实现函数转换成表并与原表进行关联
create table tb_cross_apply ( id int identity, multivalue ) ) insert into tb_cross_apply VALUES ('A| ...
- tinylogin-1.4
tinylogin-1.4是一个开发嵌入式的文件系统很好的一个工具
- mongoose 5.0 链接数据库 代码保存
const mongoose = require('mongoose'); const dbSrc = 'mongodb://localhost/douban-trailer' mongoose.Pr ...