转载

每日一博 | Maven 多模块项目介绍及搭建

Maven多模块项目适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,使用户可以根据需求配置指定的模块。

接下来是在IntelliJ IDEA中的一个多模块项目搭建介绍:

每日一博 | Maven 多模块项目介绍及搭建

项目分为三个部分,分别为web模块,util工具类模块,model基础数据模块。三个模块之间的关系为:web模块依赖于model模块,model模块依赖于util模块。通过maven的管理,我们可以快速的实现模块之间的聚合,也可以将模块独立出来作为公共类供别的模块引用。

项目创建步骤:

1.首先创建父项目,按照普通maven项目创建即可

2.在项目下

每日一博 | Maven 多模块项目介绍及搭建

每日一博 | Maven 多模块项目介绍及搭建

选择创建maven项目,依次创建util,model,web三个模块。

这时候查看父项目的pom.xml文件会发现模块已经自动添加了

每日一博 | Maven 多模块项目介绍及搭建

3.添加模块间的关联关系

在model模块的pom.xml中添加

每日一博 | Maven 多模块项目介绍及搭建

在web模块的pom.xml中添加

每日一博 | Maven 多模块项目介绍及搭建

4.配置tomcat

每日一博 | Maven 多模块项目介绍及搭建

到此,我们的模块就已经搭建完成。补充完代码后就可以测试部署了。

关于多模块项目的一些说明:

1.parent项目是如何找到子项目的:

<span>&lt;</span><span>modules</span><span>&gt;</span>

<span>&lt;</span><span>module</span><span>&gt;xxxxxx</span><span>_util</span><span>&lt;/</span><span>module</span><span>&gt;</span>

<span>&lt;</span><span>module</span><span>&gt;xxxxxx</span><span>_web</span><span>&lt;/</span><span>module</span><span>&gt;</span>

<span>&lt;</span><span>module</span><span>&gt;xxxxxx</span><span>_model</span><span>&lt;/</span><span>module</span><span>&gt;</span>

<span>&lt;/</span><span>modules</span><span>&gt;</span>

通过父项目中的pom.xml中配置

2.jar包管理

只需要在父pom.xml中添加jar包,子模块中即可引用。此外,在子模块中也可以单独添加jar包。除了jar包外,插件也可以通过这样的方式管理。

3.如果子模块间存在引用关系如何配置

比如在util模块中引用model,则自需要在util模块的pom.xml中加上model的引用即可

<span>&lt;</span><span>dependency</span><span>&gt;</span>

<span>&lt;</span><span>groupId</span><span>&gt;</span><span>com</span><span>.</span><span>xxx</span><span>.</span><span>xxxxxx</span><span>&lt;/</span><span>groupId</span><span>&gt;</span>

<span>&lt;</span><span>artifactId</span><span>&gt;</span><span>xxxxxx_model</span><span>&lt;/</span><span>artifactId</span><span>&gt;</span>

<span>&lt;</span><span>version</span><span>&gt;</span><span>1.0</span><span>-</span><span>SNAPSHOT</span><span>&lt;/</span><span>version</span><span>&gt;</span>

<span>&lt;/</span><span>dependency</span><span>&gt;</span>

4.模块之间存在冲突怎么办

当有文件冲突时,以当前模块为主,也可以通过 maven-war-plugin  overlays 设置聚合规则。

原文  http://my.oschina.net/leewb/blog/690255
正文到此结束
Loading...