【Maven进阶一】 多模块构建Maven项目
2016-02-14 16:47
260 查看
在平时的项目开发的过程中,我们慢慢的倾向了创建Maven项目,为了便于后期的维护,我们一般会进行分层开发,比如domain(),dao(),service(),web(),test()等多层开发,这样分层之后,各个层之间的职责会变得更加明确,后期维护起来也变得比较容易,本篇我们则来学习对于Maven项目的多模块创建。
分析过后,其实原理很简单,就比如我来管理一个超市,在刚开始的时候,由于超市很小,我自己就可以管理过来,所以只需要我自己就足以完成任务。到后来超市慢慢的扩大,我需要招纳人才来辅助我进行管理,各尽其能。Maven项目的创建也就是这个思想,我有多个子模块,但同属于父类来控制。
最后多模块项目创建完毕之后如下:
那么具体该如何来创建呢?待我们来分析学习。
首先,和创建Maven项目一样 ,右击New,选择Maven Project,Next,到如图所示:
将package内容删除之后,直接点击右下角的finish即可。
创建完之后如图所示,将红色标记的删除掉,只保留pom文件即可。
注:Target删除不掉,注意将pom文件中的packaging设置为“pom”,则可将其删掉。pom.xml基本设置如下:
一直下一步,下一步,最后点击finish则子模块创建成功。此刻再点击父创建的pom文件,就会发现自动的多出了部分代码,出现了和子模块之间的连接。
在每个子模块的配置文件中,也多处了和父类连接的信息:
分析过后,其实原理很简单,就比如我来管理一个超市,在刚开始的时候,由于超市很小,我自己就可以管理过来,所以只需要我自己就足以完成任务。到后来超市慢慢的扩大,我需要招纳人才来辅助我进行管理,各尽其能。Maven项目的创建也就是这个思想,我有多个子模块,但同属于父类来控制。
最后多模块项目创建完毕之后如下:
那么具体该如何来创建呢?待我们来分析学习。
首先,和创建Maven项目一样 ,右击New,选择Maven Project,Next,到如图所示:
将package内容删除之后,直接点击右下角的finish即可。
创建完之后如图所示,将红色标记的删除掉,只保留pom文件即可。
注:Target删除不掉,注意将pom文件中的packaging设置为“pom”,则可将其删掉。pom.xml基本设置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xxx.exam</groupId> <artifactId>exam-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> //注意修改为pom <name>exam-parent</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project>到此为止一个基本的父类就算创建完成了,那么如何在其下创建子项目呢?创建Maven Parent的时候,我们选择的是Maven Project,这次创建子模块,我们选择Maven Module,过程如下:
一直下一步,下一步,最后点击finish则子模块创建成功。此刻再点击父创建的pom文件,就会发现自动的多出了部分代码,出现了和子模块之间的连接。
在每个子模块的配置文件中,也多处了和父类连接的信息:
<parent> <groupId>com.xxx.exam</groupId> <artifactId>exam-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>这样一个轮廓就算创建完工了,至于各个模块之间的连接以及映射之类的,只需要在pom文件中进行配置即可。
相关文章推荐
- 读写锁
- HttpClient4.X 升级 入门 + http连接池使用
- C语言拾遗(二)
- Android Camera 代码阅读: Preview过程
- jfinal的ajax例子
- Can't create/write to file '/tmp/#sql_887d_0.MYD' (Errcode: 17)
- Oracle创建Database Link的两种方式详解
- 判断指针变量的实际类型
- 查找linux系统下的端口被占用进程的两种方法
- iOS 如何查crash bug
- Workflow 4.0 中三种方式实现workflow的触发调用
- codeforces626D . Jerry's Protest (概率)
- 互斥量
- 【Xamarin挖墙脚系列:卸载不彻底的解决】
- MySQL-5.6.13免安装版配置方法
- 第29讲:Case class和Case object代码实战解析
- Visual Studio 2008 可扩展性开发(二):Macro和Add-In初探
- Android开发底部控件会被弹出的软键盘顶起
- OpenGL坐标系
- centreon 画图x轴乱码