当前位置:文档之家› maven心得

maven心得

maven使用经验与心得整理
概述
日常开发中,我们用到的maven相关功能大概一下几种:
1、管理jar依赖
2、构建项目(打包、编译等)
3、发布项目(共享、上传至服务器、供他人使用)
简单介绍
1、管理依赖
jar一般在pom.xml文件的中配置,以spring core为例,一般格式如下:
其中groupId一般为项目(jar war pom等)的发布机构名称;
artifactId为项目名称;
version为项目版本;
在项目编译打包的时候,ide会自动到maven仓库去查找相应的jar文件,打包并存放在项目的相应路径下(如web项目的lib目录下)
2、构建项目:
这里所说的构建项目主要指打包、编译、运行测试用例等操作,即maven的生命周期中的打包过程。

最常用的就是compile了,一般项目修改代码以后都要重新编译,然后加载到tomcat中运行调试。

其它的还有clean、package等比较常用的操作,请见详细说明–生命周期部分
3、发布项目:
如果我们写一些通用框架,或者自己封装了一些常见的工具类,想要打包为jar并且供他人使用,那么我们可以通过maven发布到公共仓库(私服)供他人下载依赖使用。

比如每个公司都会有自己的框架,持久层、控制层或者其它功能等。

当我们没有使用maven 的时候,我们是直接把别人的jar拷贝到项目的library目录下,而现在我们有了maven就不用自己到处拷贝jar包了,只需要在发布的时候找到别人发布到仓库时候写的groupId artifactId version等信息就能直接添加依赖了,也就是相当于第一步的依赖管理。

4、多模块
maven实际上通过多模块的思想来组织依赖的,每一个项目或者jar都是一个模块,我们可以把一些通用的,不常变动的东西写在一些指定的模块下,在另外一个项目中引用依赖(这里就有点类似【1、依赖管理】,这样一来可以让项目结构更清晰、方便别人依赖使用,如果项目都是一个模板,也可以复用等等
4、生命周期
maven将项目的生命周期大致分为9个,分别为:clean、validate、compile、test、package、verify、install、site、deploy
我经常用的也就是clean、compile、package、install、deploy,而且deploy相对也较少,因为很少发布公共的项目供别人依赖使用,基本也就是项目打包为war时候会打包到私服,运维人员可以到私服上直接下载对应版本。

其中clean即清除项目中编译文件和本地仓库中已打包的文件(即本地install的文件,install 后面讲到)
compile即编译项目中的java文件,并存放在项目的编译目录(根据不同的配置,编译目录也不一样)
test 即运行项目中的测试用例文件,如果测试用例未通过,也会打包失败,另,这里的test 过程可以在pom中通过配置跳过。

(想想也是,我项目都好了,其实不是非要跑测试用例的)
package 即将本地编译好的文件打包为war 或者jar(这是最常见的两种,其他相关自行了解) verify 我很少用到,没怎么了解过
install 将打包的代码存放到本地maven仓库,可供本地其它项目依赖使用
site生成项目报告,站点,发布站点,这个也很少用到,不是很清楚
deploy 将打包在本地仓库中的项目发不到服务器,供他人依赖使用。

相关主题