原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6698699.html
题目有点大,这里只是自己对Maven插件的一些使用总结,可能会涉及到一些其他的内容,后续会继续补充,在此做个记录,也便于自己查阅。
1、Maven命令
Maven complie:编译命令,在target目录生成class字节码文件,将资源文件复制到此文件夹下,这个文件的目的就是为了打包做准备
Maven package:打包命令,在target目录下生成当前项目的包文件(jar、war等)
Maven install:在本地仓库安装包文件,该命令会先执行package命令在target目录生成jar包,然后将这个jar包安装到本地仓库中
Maven clean : 清除命令,将complie与package命令生成的target目录下的文件清除
2、本地仓库
本地仓库中的jar包是在Maven项目第一次被加载到Eclipse中时从私服中下载的。这里面的jar包一般都是用于项目更新依赖用的,当我们点击Maven Update Project 并选择Offline时,会直接从本地仓库中更新依赖。如果不选择,默认从本地更新依赖包,当本地不存在该依赖包时才会从私服中下载。我们就可以使用Maven install命令将项目打包成jar包并安装到本地仓库中。
3、Maven Update Project
更新项目,这里的更新主要指的是项目依赖的更新,当我们选择Offline时,会完全从本地仓库中更新依赖,勾选Force Update of Snapshots/Release之后,可以解决从私服中下载jar包时报错导致的无法下载情况(由于网络原因导致的jar包下载中途失败的情况,更新文件已下载,但是jar包未下载全的情况,本地既不能使用,也无法从私服下载,原因是更新文件会阻止从私服下载),进行强制更新。
4、服务器命令:publish
这个服务器发布命令,这是一个全能命令。
当我们点击publish之后,我们对项目做的所有修改都会直接发布到部署的Tomcat服务器中。
5、对于大型的工程,我们会针对业务进行项目划分,采用Maven进行项目管理,这时很多项目就会作为被依赖项目而存在,这类型项目是需要打成jar包放到服务器中的lib目录下的。
针对服务器的被依赖项目的打包可以直接使用服务器的publish命令完成,也可以重新部署目标项目来完成,显然前者要方便许多。
由此我们可以得出一个结论,服务器中lib下的jar包与target和本地仓库中的jar包其实是没有关联的。是采用不同的方式生成的。二者生成的jar包的位置与目的也不同,前者是用于服务器项目启动的,后者是用来在Eclipse中构建项目结构用的。