IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
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多模块项目)就说完了,有问题欢迎留言讨论。
关注公众号【江南一点雨】,专注于 Spring Boot+微服务以及前后端分离等全栈技术,定期视频教程分享,关注后回复 Java ,领取松哥为你精心准备的 Java 干货!
以上。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2016-08-20 Android开发之线程池使用总结