转自: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多模块项目)就说完了,有问题欢迎留言讨论。

以上。

38.IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)的更多相关文章

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

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

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

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

  3. 在IntelliJ IDEA中创建Web项目

    在IntelliJ IDEA中创建Web项目 在IntelliJ IDEA中创建Web项目1,创建Maven WebProject选择File>New>Project 出现New Proj ...

  4. 在IntelliJ IDEA里创建简单的基于Maven的SpringMVC项目

    后来发现了一种更加方便的创建方式,即第一步不选择Create from archetype,创建完毕后打开Project Structure-Modules,然后添加Web,但是注意添加的Web里面的 ...

  5. maven多模块项目,多web合并项目使用心得

    Fixflow,做中国最好的开源流程引擎!项目地址https://github.com/fixteam/fixflow 此文章适合maven初学者或想接触maven的用户,讲的只是皮毛,高手请自觉略过 ...

  6. SpringBoot+Maven 多模块项目的构建、运行、打包实战

    前言 最近在做一个很复杂的会员综合线下线上商城大型项目,单模块项目无法满足多人开发和架构,很多模块都是重复的就想到了把模块提出来,做成公共模块,基于maven的多模块项目,也好分工开发,也便于后期微服 ...

  7. eclipse导入SVN上的Maven多模块项目

    eclipse导入SVN上的Maven多模块项目 博客分类: Eclipse&MyEclipse SVN Maven   一.SVN上Maven多模块项目结构 使用eclipse导入SVN上的 ...

  8. 在IntelliJ IDEA中创建Maven多模块项目

    在IntelliJ IDEA中创建Maven多模块项目 1,创建多模块项目选择File>New>Project 出现New Project窗口左侧导航选择Maven,勾选右侧的Create ...

  9. idea创建web聚合工程(2)

    参考文档: intelj idea 创建聚合项目(典型web项目,包括子项目util.dao.service) 使用IntelliJ IDEA创建Maven聚合工程.创建resources文件夹.ss ...

随机推荐

  1. tee---将数据重定向到文件,

    tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin.简单的说就是把数据重定向到给定文件和屏幕上. 存在缓存机制,每1024个字节将输出一次.若从管道接收输 ...

  2. SpringBoot @PathVariable 和 @requestParam区别

    1.若获取的入参的 参数 是下面这种形式 就使用 @requestParam 去获取 参数‘1’ /user?id=1 // url:xxx/user?id=1 @RequestMapping(&qu ...

  3. Java 实现有序链表

    有序链表: 按关键值排序. 删除链头时,就删除最小(/最大)的值,插入时,搜索插入的位置. 插入时须要比較O(N),平均O(N/2),删除最小(/最大)的在链头的数据时效率为O(1), 假设一个应用须 ...

  4. SQL 增删改查(具体)

    一.增:有3种方法 1.使用insert插入单行数据: insert [into] <表名> [列名] values <列值> insert into Strdents (na ...

  5. session timer(一)

    功能介绍 SIP并没有为所建立的会话定义存活机制. 虽然用户代理能够通过会话特定的机制推断会话是否超时,可是代理server却做不到这点. 如此一来.代理server有时会无法推断会话是否还是活动的. ...

  6. ctags 寻找方法定义处

    ctags这个是vim的一个插件,它可以用来生成一个检索文件,里面保存有一些索引信息.例如,一些类跟方法.变量等的定义位置当我们对一个路径执行ctags -R的时候,就会自动生成一个ctags,然后我 ...

  7. linearlayout-weight 属性作用

    今天用到了weight的属性,现在就把这个属性的具体意义记录一下.也是参考网上的讲解,只不过自己验证了一下而已 参考自 http://blog.csdn.net/jincf2011/article/d ...

  8. php intval函数

    php intval函数 作用 intval — 获取变量的整数值 使用实例 <?php echo intval('-42'); // -42 ?> 相似函数 boolval() - 获取 ...

  9. js的style和getArribute("属性名")

    getAttribute()是HTML DOM的一个方法,用以获取HTML元素的属性(如id,name,type以及其他自定义属性). style是HTML DOM的一个关于样式的对象,style对象 ...

  10. OpenCV特征点检测——ORB特征

            ORB算法 目录(?)[+] 什么是ORB 如何解决旋转不变性 如何解决对噪声敏感的问题 关于尺度不变性 关于计算速度 关于性能 Related posts 什么是ORB 七 4 Ye ...