IDEA中创建Maven多模块项目
写在前面
在日常开发过程中经常会遇到Maven多模块的情况,那么如何创建Maven多模块呢?此处笔者结合常用的IDEA工具进行介绍,Eclipse、MyEclipse等工具创建Maven项目过程与之类似,因此就不过多介绍。
本文主要分为4个部分,第一部分创建parent项目,第二部分创建children项目,第三部分模块调用,第四部分运行项目。
创建parent项目
1、打开IDEA工具,使用Maven来构建项目,请注意此处不要勾选模板,因为使用模板构建maven项目的速度非常慢,所以此处忽略模板,当后面需要某文件夹时可自行手动创建:
2、按照图示填入项目名称和模块名称:
3、配置工程路径,最后点击finish完成parent项目的构建过程:
4、由于parent项目只是用于管理各模块和第三方依赖,因此此处的src目录可以删除:
请注意parent项目的pom.xml文件是不能删除的,后续需要使用它来进行依赖管理。这样关于parent项目的创建过程就告一段落,接下来开始进行子模块的创建工作。
创建children模块
创建children1模块
1、鼠标选中parent模块,然后右键单击出现的new->选择Module:
2、请注意这里依旧不选择模板,直接点击下一步:
3、在图中填入children模块的名称,然后点击下一步:
4、检查children模块的路径是否需要修改,如果不需要则点击finish,这样就创建完成children1模块:
5、最后查看一下此时的项目目录结构:
同时请注意此时parent模块的pom.xml文件和children1模块中的pom.xml文件的变化:
创建children2模块
1、由于创建children2模块的操作和children1模块创建操作类似,这里就不赘述:
2、请注意前面创建的children1和children2都是普通的Java项目,并不是JavaWeb项目。在一个JavaWeb项目中,可能分为dao、service、web、common、utils等模块,通常而言除了web模块是web项目结构,其他模块则是普通的Java项目。在本例中,笔者假设children1为普通项目,children2为web项目,接下来就介绍如何将一个普通的Java项目改造成一个JavaWeb项目。
3、鼠标选中children2模块,然后右键单击出现的Open Module Settings:
4、在出现的页面中,先选择children2,然后点击左上角的+号,选择下拉菜单中的web:
5、接着按照图示操作设置web资源目录:
请注意确保资源resource目录为demoparent\children2\src\main\webapp
路径,尽管此时src\main\webapp
目录是不存在的,但是IDEA会自动帮我们进行创建。
6、按照图示修改web.xml文件目录:
请注意确保web.xml文件目录为demoparent\children2\src\main\webapp\WEB-INF\web.xml
路径。
7、这样我们就将children2模块成功的改造成了一个web项目,此时项目结构如下:
模块调用
虽然上述父子模块都创建完成,但是并没有介绍children模块之间的调用,接下来尝试在children2模块中调用children1模块中的方法。
1、在children1模块中新建Hello类和hello方法,如下图所示:
2、在children2模块中引用children1模块,只需修改children2模块中的pom.xml文件即可:
1 | <dependencies> |
请注意代码的位置:
3、为了更好的展示演示,这里在children2模块的webapp目录下创建index.jsp页面,然后在该页面中调用children1模块中的方法:
4、仅仅是前面那样不够的,因为children2模块在构建时默认是以jar包存在的,但是Tomcat中运行的war包,因此需要修改children2模块的pom.xml文件,注意children1模块不需要修改。在children2模块的pom.xml文件中新增如下代码:
1 | <packaging>war</packaging> |
注意代码的位置:
5、点击IDEA右侧边栏的Maven Project ,找到parent-demo模块,然后点开LifeCycle菜单,双击package:
6、当项目构建成功后,会在children2模块的根目录下生成一个target目录,该目录下有一个war文件,这个就是后续要运行的war文件:
项目运行
1、点击项目右上角的如下按钮:
2、选择出现页面左上角的+号,然后选择下拉框的Tomcat,接着选择本地Tomcat。然后在Tomcat选项卡中首先配置Tomcat的名称,可随意设置,此处设置为demo,然后点击Deployment选项卡,如下:
3、点击Tomcat配置页面中的Deployment选项,在该选项卡中点击+号,选择外部资源(External Resource),并选择刚才打包好的war包:
4、点击右上角的demo按钮,开始启动项目:
5、在浏览器地址栏中输入http://localhost:8080/
即可看到相关信息:
当然在第3步中,不选择使用选择外部资源(External Resource),而是直接使用Atifacts,然后选择children2:war
即可:
然后点击确定,再次运行项目,访问同一个URL,可以发现也出现了相应的结果。这样关于IDEA中创建Maven多模块项目的介绍就到此为止。