当前位置: 首页 > news >正文

38.IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)

转自:https://blog.csdn.net/u012702547/article/details/77431765

Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今天就来看看。 
IntelliJ中创建普通的Java聚合项目相对来说比较容易,不会涉及到web操作,涉及到web的话会有一点点麻烦。我们来一步一步看下。


环境:IntelliJ IDEA 2017.1


创建parent项目

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

2.填入坐标和模块的名字,如下:

这里写图片描述

3.设置工程的路径然后点击finish:

这里写图片描述

4.OK,这样一个project就创建好了,我们的project主要用来管理第三方依赖,所以,这里的src目录可以删掉。 
这里写图片描述

如此之后我们的parent就算创建好了,parent创建好之后,接下来创建子模块。

创建子模块

创建子模块child1

1.选中parent项目,右键单击new->Module 
这里写图片描述

2.这里继续不选择模板,直接点击下一步:

这里写图片描述

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

这里写图片描述

4.直接finish就创建好了一个子模块: 
这里写图片描述

OK,如此之后我们的一个子模块就创建好了,创建好之后,我们的项目结构如下: 
这里写图片描述

同时注意此时parent的pom.xml和child1的pom.xml文件的变化: 
这里写图片描述

OK ,至此我们的child1就算完全搞定啦。

创建子模块child2

1.按照child1的创建方式我们继续向parent中添加一个child2. 
2.这个时候创建的不管是child1还是child2都是普通的Java项目,而不是JavaWeb项目,在一个JavaWeb项目中,我们的模块可能分为commons-utils、dao、service、web等几个模块,这些模块中除了web模块是web项目结构,其他模块都是普通的Java项目,本例中我就假设child1为普通项目,child2为web项目,我们看看如何将child2改造为一个web项目。 
3.创建好child2之后,右键单击,选择Open Module Settings,如下: 
这里写图片描述

4.在打开的页面中,先选择child2,然后点击左上角的+号,选择web,如下: 
这里写图片描述

5.在新打开的页面中,做如下操作: 
这里写图片描述

6.再修改web.xml文件的路径,如下;

这里写图片描述

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

这里写图片描述

项目构建

OK,接下来我们child1模块中提供一个方法,然后在child2中来调用,我们看看如何实现。 
1.在child1中添加SayHello类,如下:

这里写图片描述

2.在child2中引用child1模块,修改child2的pom.xml文件即可,如下:

这里写图片描述

3.在child2中添加index.jsp页面,在该页面中调用child1模块中的方法,内容如下:

这里写图片描述

4.修改child2的pom.xml文件,使之在构建时生成war文件,child1的不用修改(默认生成jar文件)。如下:

这里写图片描述

5.做好这一切之后,在IDEA的右侧边栏找到Maven Project 点开,找到parent项目,点开LifeCycle,双击package,如下:

这里写图片描述

6.项目构建成功之后,在child2的目录下生成了一个target目录,该目录下有一个war文件,这就是我们要运行的war文件,如下:

这里写图片描述

项目运行

最后我们再来看看项目怎么运行。 
1.在IDEA的右上角点击编辑配置,如下:

这里写图片描述

2.添加Tomcat,先点击+号,然后选中本地Tomcat,如下:

这里写图片描述

3.在Tomcat选项卡中首先给Tomcat取一个名字,然后点击Deployment选项卡,如下:

这里写图片描述

4.在Deployment选项卡中点击+号选择外部资源,如下: 
这里写图片描述 
这里写图片描述

5.运行项目

这里写图片描述

6.运行结果如下:

这里写图片描述

OK,至此,我们的在IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)就说完了,有问题欢迎留言讨论。

以上。

相关文章:

  • window7 虚拟机安装
  • hacmp环境下更改ip地址
  • Citrix XenApp策略与AD组策略的整合
  • EIGRP特点包括:
  • 使用JConsole监控
  • C#去除HTML标签
  • 由VMware Workstation 6.5所想到的
  • 尘归尘,土归土——业务归业务,技术归技术。
  • 日志系统
  • 3.1 salt 语法
  • Nginx服务整理
  • Jira 6.3.6使用openldap进行认证——方法二
  • 六、任务计划管理cron
  • myeclipse xfire 开发webservice实例
  • Ceph集群块设备使用-创建和使用OSD
  • $translatePartialLoader加载失败及解决方式
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Bootstrap JS插件Alert源码分析
  • JavaWeb(学习笔记二)
  • Java多线程(4):使用线程池执行定时任务
  • Koa2 之文件上传下载
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • React Transition Group -- Transition 组件
  • Redis学习笔记 - pipline(流水线、管道)
  • 面试总结JavaScript篇
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 原生Ajax
  • 栈实现走出迷宫(C++)
  • 阿里云ACE认证之理解CDN技术
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​人工智能书单(数学基础篇)
  • # Maven错误Error executing Maven
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (3)llvm ir转换过程
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一) springboot详细介绍
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ..回顾17,展望18
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET 的程序集加载上下文
  • .NET 事件模型教程(二)
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • @Async注解的坑,小心
  • @WebServiceClient注解,wsdlLocation 可配置
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [C/C++]数据结构 深入挖掘环形链表问题