对于一些大型的项目来说,将项目的各个模块理清并进行管理,便于后续项目的维护,使用maven管理是很方便的,它可以很好的构建模块来设计项目的整体结构,对一些小型的项目不建议使用

1、新建父maven模块(idea版本为2017.2)

选择maven类型

点击next,填写GroupId和AtifactId

点击next

确认工程名和存放路径后点击finish

选择打开方式后完成父项目构建,如下图所示

由于父类是作为一个模板,其src可以删除掉

2、构建子maven模块

右击父模块名,新建一个module

选择maven类目

点击next并填写子类ArtifactId

点击next

点击finish,查看父类pom文件可以看到引入新建的module

其他模块添加一样,也可以继续在子模块中添加子模块,此时视当前子模块为其子模块的父模块,处理方式和顶层父类一致。

针对web项目,可以在新增子module是类目选择类似Spring Initailizr

此处选择war类型

新建完之后web项目结构如下

部署时需要在父pom文件中配置如下,父类中可以使用dependencyManagement来管理依赖,子模块继承其中的依赖,从而达到统一管理依赖版本的问题

<build>
<finalName>maven</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
            <!--指定运行主类-->
            <mainClass>com.maven.web.WebApplication</mainClass>
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>

最新文章

  1. Linux归档压缩、分区管理与LVM管理
  2. 关于javascript自定义对象(来自网络)(最近几天不会的)
  3. 趣味C++
  4. 斯坦福第五课:Octave 教程(Octave Tutorial)
  5. 在 mac os 上搭建 git server
  6. VirtualBox启动虚拟机报错0x80004005
  7. MyBatis(3.2.3) - Cache
  8. LINUX下安装PHP(CGI模式)和NGINX[转]
  9. webrtc之视频显示模块--video_render
  10. HTML &lt;div&gt; 和&lt;span&gt;
  11. Linux 文件路径包含特殊字符的处理方式
  12. C# 判断网卡类型以及其他网卡信息
  13. adb server is out of date. killing完美解决
  14. java基础 ------- 多重循环 and break与continue
  15. CentOS 6.5环境实现corosync+pacemaker实现DRBD高可用
  16. 3D场景鼠标点选择物体
  17. 使用std::map和std::list存放数据,消耗内存比实际数据大得多
  18. 广州区块链系统or积分联盟
  19. Cowboy实例
  20. Mac下找不到gl.pc和glu.pc

热门文章

  1. SCRUM起源
  2. CF1198E Rectangle Painting 2(最小割 思维
  3. 复习+dfs
  4. CodeForces 1082 D Maximum Diameter Graph
  5. poj 1417 True Liars(并查集+背包dp)
  6. 271.已正确安装证书,但https显示连接不安全(此页面的部分内容不安全)
  7. 【Offer】[32] 【从上到下打印二叉树】
  8. java 代理模式-静态代理与动态代理
  9. Excel如何动态获取列名
  10. mysql 查询参数尾部有空格时被忽略