Maven项目对象模型(POM)

这是我学习maven时觉得比较重要的知识。

首先,Maven是Apache软件基金会组织维护的一款自动化构建工具,专注服务于Java平台的项目构建和依赖管理。它并不是一个框架,但是它其中的一个功能是用来帮助开发者管理框架所需的jar包。今天给大家介绍的是maven.

Maven使用优点

当我们创建项目,写代码的时候,会用到很多的jar包,当然这加快了我们的开发速度,但是jar包的管理却很麻烦,更重要的是,如果没有一种开发工具,那我们每创建一个web项目,就需要把该项目所需要的jar包复制一份,文件重复混乱。

maven则很好的帮我们解决了这个问题,使用maven后,每个jar包本身只在本地仓库保存一份,需要jar包的工程只需要以坐标的方式简单的引用一下就可以了。第二个好处就是,有些jar包并不是孤立存在的,往往需要其他jar包的支持下才能正常工作。最典型的例子是:commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar,如果没有IO包,FileUpload包就不能正常工作。而引入Maven后,Maven就可以替我们自动的将当前jar包所依赖的其他所有jar包全部导入进来,无需人工参与,节约了我们大量的时间和精力。

获取第三方jar包
JavaEE开发中需要使用到的jar包种类繁多,几乎每个jar包在其本身的官网上的获取方式都不尽相同。获取jar包方式繁琐。
使用Maven我们可以享受到一个完全统一规范的jar包管理体系。你只需要在你的项目中以坐标的方式依赖一个jar包,Maven就会自动从中央仓库进行下载,并同时下载这个jar包所依赖的其他jar包

Maven的安装

首先,先说我用的是apache-maven-3.5.0版本,并且是在MyEclipse2016上使用的。

链接:http://pan.baidu.com/s/1miFqBmo 密码:yequ

上面是我的maven jar包。

安装步骤:

①检查JAVA_HOME环境变量
C:\Windows\System32>echo %JAVA_HOME%
D:\DevInstall\jdk1.7.0_07
②解压Maven的核心程序
将apache-maven-3.2.2-bin.zip解压到一个非中文无空格的目录下。例如:D:\DevInstall\apache-maven-3.2.2
③配置环境变量
M2_HOME D:\DevInstall\apache-maven-3.2.2
path ;
%M2_HOME%\bin
④查看Maven版本信息验证安装是否正确
命令行中输入命令:mvn -v

maven与ecipse整合步骤

这个是在eclipse中的步骤

1.将maven作为插件插入eclipse,myeclipse不需要这一步。在window----preference中搜索Installtion,点击Add,添加进去。注意,maven所在的文件夹名称不能有中文,而且不要带空格,这样可以减少错误的发生。

.

2.将settings.xml作为文件插入。这样在软件中就可以使用了。Myeclipse只需要这一步骤,上面的步骤不需要。

这样,在软件中就可以使用maven管理jar包了。

Maven的生命周期

Maven有三套相互独立的生命周期,分别是: 
①Clean Lifecycle在进行真正的构建之前进行一些清理工作。
②Default Lifecycle构建的核心部分,编译,测试,打包,安装,部署等等。
③Site Lifecycle生成项目报告,站点,发布站点。
它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

Maven有三套相互独立的生命周期,分别是: 
①Clean Lifecycle在进行真正的构建之前进行一些清理工作。
②Default Lifecycle构建的核心部分,编译,测试,打包,安装,部署等等。
③Site Lifecycle生成项目报告,站点,发布站点。
它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

Maven的目录结构

Maven必须能找到Java源文件,下一步才能编译,而编译之后也必须有一个准确的位置保持编译得到的字节码文件,Maven正是因为指定了特定文件保存的目录才能够对我们的Java工程进行自动化构建。


   该图为一个使用Maven创建的项目。   

      POM简介:

Project Object Model:项目对象模型。将Java工程的相关信息封装为对象作为便于操作和管理的模型。Maven工程的核心配置。可以说学习Maven就是学习pom.xml文件中的配置。pom.xml文件存在于项目的根节点下


如上图,上面是当前项目坐标,最后面的packaging里面写的jar是因为,此时创建的项目是一个java项目,如果创建maven项目,里面就是war。

而下面的dependency是用来引入我们所需要的jar包的。当A jar包用到了B jar包中的某些类时,A就对B产生了依赖,这是概念上的描述。那么如何在项目中以依赖的方式引入一个我们需要的jar包呢?
答案非常简单,就是使用dependency标签指定被依赖jar包的坐标就可以了。

那么,我们所需要的依赖的坐标是从哪来的,是在中央仓库里面存储的,我们可以去中央仓库中查询所需要的jar包,然后复制它的dependency到我们的pom.xml中。那么maven会去本地仓库查找A.jar。如果本地没有则会自动去网络上下载。


仓库:

本地仓库:本地仓库默认的位置是:~\.m2\repository,我的本地仓库被默认放在了C:\Users\Administrator\.m2\repository下。

远程仓库路径,默认使用的是中央仓库,但是下载速度慢。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值