构建Maven聚合工程
最近,准备构建一个Maven的项目,基于模块化的结构思想,决定使用Maven的聚合工程进行构建。
环境准备:
(1)eclipse 这里推荐使用spring封装的eclipse(即STS) ,STS中集成了spring的相关插件,对使用spring的开发有帮助。下载地址:https://spring.io/tools/sts
(2)Maven 这里我选择的是 maven-3.3.9。 下载地址: http://maven.apache.org/download.cgi
我下载的是最新版本的Maven,这里选择的是bin,即编译完成的二进制包,如下图:
将下载的Maven的包,减压到一个目录下,我这里的目录是 (D:\maven-3.3.9),然后建立一个repo文件夹,我的目录为(D:\maven-3.3.9\repo)用来存放下载到本地的jar包,然后修改Maven的settings.xml文件(该文件在D:\maven-3.3.9\conf路径下),添加本地的存放目录( <localRepository>D:/maven-3.3.9/repo</localRepository> ),如下图所示:
基本上这样Maven的本地环境就搭建好了,如果想在命令行中直接能使用Maven的命令,可以配置Maven的环境变量。
这里,由于访问中央仓库的速度较慢,所以我自己配置了国内的私服,有需要的可以配置一下奥。如下:
附上具体的代码:
1 <mirror> 2 <id>CN</id> 3 <name>OSChina Central</name> 4 <url>http://maven.oschina.net/content/groups/public/</url> 5 <mirrorOf>central</mirrorOf> 6 </mirror>
到这里Maven的本地环境搭建完成。
将本地的Maven关联到eclipse上,如下:
这里可以选择在下载jar包的同时,把相应的源码和doc包下载下来,勾选下面的就行:
然后,点击OK,完成本地的关联。
这样就可以开始构建Maven的项目了,赶快开始吧。
首先,先构建父工程,新建Maven项目,选择标准的java项目(因为父工程不存在具体的东西只是聚合作用,故选择这个),如下图选择:
然后,下一步,这里会下载对应的骨架东西,等一会就好了,到如下:
这里填写自己的信息,然后,Finish。
打开这个工程的pom文件,修改它的打包方式为pom,如下图所示:
那么,这样一个聚合的父工程构建完成。
接下来就是模块的构建,首先,先构建一个common的工程,用来存放一些公共的代码(例如:工具方法...),这样就相当与把常用的公共代码抽取出来了,方便日后其他的项目使用。
构建方法同父工程,这里就不在赘述了,只是这里不需要修改pom文件中的打包方式。建完如下:
同理,构建具体的项目im-manager,这里将pom文件的打包方式修改为pom。建完如下:
接下来,按照层次结构构建对应的模块,这里我把模块分为 entitis、dao、server、web。
构建im-manager-entitis如下:
选中im-manager,右键 -- 新建 -- other... -- Maven Module ,如下:
下一步,
填入工程名 -- 下一步 -- Finish。这样im-manager-entitis工程构建完成。在im-manager工程的pom文件中可以看到这个工程,如下:
同理,建立im-manager-dao、im-manager-server。
建立im-manager-web的时候需要注意选择web的骨架,其他的同im-manager-entitis,如下:
这样,所有的模块就建立完成了。接下来就是添加它们的关系,这里im-commcon和im-manager是聚合到im-parent下的,建立他们的关系,
在im-commcon和im-manager的pom文件中的parent中添加im-parent,如下:
然后,添加依赖关系,依赖关系如下:
im-manager 依赖 im-common ,这样由于依赖的传递性,im-manager-entitis、im-manager-dao、im-manager-server和im-manager-web都有了im-commcon的使用权限,
im-manager-dao 依赖 im-manager-entitis
im-manager-server 依赖 im-manager-entitis、im-manager-dao 由于依赖的传递性只需要加 im-manager-dao 就行
im-manager-web 依赖 im-manager-entitis、im-manager-server 由于依赖的传递性只需要加 im-manager-server 就行
添加依赖如下:
这样,整个聚合工程就构建完成了。
浙公网安备 33010602011771号