您的位置:首页 > 其它

maven构建多模块项目的两种方式

2016-11-01 18:46 288 查看
maven构建多模块父子项目有两种方式,一种通过Eclipse工具去建立,另一种在可以在控制台通过maven指令建立项目。下面举例一步步构建下面的JavaWeb项目

project-parent

            |----pom.xml

            |----project-mybatis

                            |----pom.xml

            |----project-SDK

                            |----pom.xml

            |----project-service

                            |----pom.xml

            |----project-SpringMVC

                            |---pom.xml

一、在eclipse下构建maven项目,该项目由多个子模块组成。

1:首先说下Eclipse使用Maven创建Web时错误

:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap

错误如图



解决方案:

在Eclipse Maven配置中添加新的Catalog配置:

http://repo1.maven.org/maven2/archetype-catalog.xml



2:创建project-parent父项目,用来给各个子模块继承

接下来在使用刚添加的catalog创建web工程,这个时候就可以看到Eclipse联网下载了。

NEW -->project-->maven-->maven Project,点击下一步,进入new maven Project的Select project name and location界面,什么也不做,直接下一步到Select an Archetype界面。在Filter里输入maven-archetype-site-simple,进行过滤



选中后点击Next跳到下面界面



点击Finish生成项目,将src文件夹删除,然后修改pom.xml文件,将<packaging>jar</packaging>修改为<packaging>pom</packaging>,pom表示它是一个被继承的模块,项目出错的话右键项目maven update下,修改后的内容如下:



项目结构



3、创建子项目project-mybatis

选中父项目project-parent,点击右键,选择NEW -->project-->maven-->maven Module,点击下一步,在出现的界面中输入子模块的名称project-mybatis,点击下一步,出现Select an Archetype界面。这时选择maven-archetype-quickStart或者maven-archetype-webapp(构建web层时使用),然后选择完成,即生成子项目project-mybatis。

这时父项目pom文件是这样



项目结构



4、同上依次创建其它子项目

创建project-SDK和project-service 可以入下图直接勾上红色区域


 



创建project-SpringMVC子项目时 出现Select an Archetype界面,这时选择maven-archetype-webapp(构建web层时使用),这样生成project-SpringMVC子项目pom文件如下:这样maven打包时会生成war包



5、通过pom文件建立子项目的依赖关系

子项目project-service 依赖 project-SDK  和 project-mybatis



子项目project-SpringMVC 依赖project-SDK



 

6、搭建完后的模块化项目结构如下



对应的pom文件



7、部署服务器时maven打包

a、首先本地的maven环境配置下

MAVEN_HOME

C:\AsiaInfo\tools\apache-maven-3.3.3



b、打包常用的命令

mvn clean --清包

mvn install -Dmaven.test.skip=true --打包

打包成功标志



二、在控制台通过maven指令建立项目

用指令搭建这里就不多介绍,大家可以参考这个链接的博客去搭建。http://www.cnblogs.com/xdp-gacl/p/4242221.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: