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

在file-setting-maven中可以配置自己下载的maven,在自己下载maven目录的config下的setting.xml的localrepository改为自己建立的repository(建议在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多模块项目)就说完了,有问题欢迎留言讨论。

以上。

idea的maven搭建的更多相关文章

  1. jenkins+git+maven搭建自动化部署项目环境

    简介    折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...

  2. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

  3. 【maven + hibernate(注解) +spring +springMVC】 使用maven搭建项目

    研究,百度,查资料+好友帮助,使用MyEcplise2015工具,通过maven搭建hibernate+springMVC+spring的项目,数据库采用MySql5.5 不过使用的版本会在项目搭建过 ...

  4. 【maven】 在 MyEcplise上使用maven搭建Web项目

    二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目   2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置   4.新创建的项目结构如下 ...

  5. 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  6. Maven搭建webService (一) 创建服务端---使用main函数发布服务

    今天和大家分享下 使用maven 搭建 webService 服务端: 首先需要在你的IDE中集成Maven.集成办法此处略....... 1.创建一个web工程. 2.在pom文件中增加以下依赖: ...

  7. J2EE开发框架搭建(1) - maven搭建多项目

    怎样使用maven搭建多个项目 1. 创建一个maven project 2. 在frame-parent项目上面点击右键,新建Maven Module 3. 完毕之后再建立一个web项目 4. 依照 ...

  8. Maven搭建struts2+spring+hibernate环境

    Maven搭建struts2+spring+hibernate环境(一) 本文简单的使用STS的自带的maven插件工具搭建ssh(struts2+spring+hibernate)开发环境,图文并茂 ...

  9. Maven项目搭建(二):Maven搭建SSM框架

    上一章给大家讲解了如何使用Maven搭建web项目. 这次给大家介绍一下怎么使用Maven搭建SSM框架项目. 首先我们来看一下pom.xml的属性介绍: project: pom的xml根元素. p ...

  10. 从头开始基于Maven搭建SpringMVC+Mybatis项目(3)

    接上文内容,本节介绍基于Mybatis的查询和分页功能,并展示一个自定义的分页标签,可重复使用以简化JSP页面的开发. 从头阅读传送门 在上一节中,我们已经使用Maven搭建好了项目的基础结构,包括一 ...

随机推荐

  1. (转)Unity_什么是Draw Call? 什么是Batch?

    開發遊戲時,一定被時時提醒要減少 Draw Call,當然UNITY也不例外,打開Game Window裡的 Stats,可以看到 Draw Call 與 Batched 的數字.但到底甚麼是 Dra ...

  2. 常用的HTML模板(转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 使用dotenv 管理nodejs 应用的环境变量&&docker-compose 运行

      说明dotenv 是一个很方便的符合12 factor 的环境变量管理工具,使用很方便,实际上里面的代码也不是很多 测试使用docker 进行环境部署,为了方便分发使用pkg 进行打包,使用alp ...

  4. linux下目录简介——/SElinux

    一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统. SELinux 主要由美国 ...

  5. docker 限制container容器使用内存大小,不限制swap

    docker update --memory 20g --memory-swap -1 96b14c546d98 参考:https://my.oschina.net/Kanonpy/blog/2209 ...

  6. voc-fcn-alexnet网络结构理解

    一.写在前面 fcn是首次使用cnn来实现语义分割的,论文地址:fully convolutional networks for semantic segmentation 实现代码地址:https: ...

  7. 2019年3月更新 技术分享 WPF基本界面制作

    1.制作流程1.在vs中建立一个wpf程序2.建立一个主页面(.cs)(注:C#程序每一个页面都由两个文件构成一个xaml一个cs,一个前端文件一个后台文件)3.在主页面中添加按钮,按钮中嵌入图片,这 ...

  8. 数据分组分析—-groupby

    数据分组分析—-groupby 代码功能: 对于综合表格data,基于title进行分组处理,并统计每一组的size,得到的是一个series序列,此序列可以放入索引中使用,index() impor ...

  9. mysql导入sql文件出错的一种解决方法

    转:https://blog.csdn.net/u011806486/article/details/60147358 本人在本地使用navicat for mysql可以连接到服务器数据库,但是从服 ...

  10. RN—Android 物理返回键监听

    A → B 使用 navigator 导航,用 goBack() 返回的时候传递参数 在 A 页面 this.props.navigation.navigate("B", { ca ...