Maven

 

最近自己在学习maven,好记性不如烂笔头,将自己第一次配置的过程与学习到的知识点记录下来。

maven下载地址:http://maven.apache.org/download.cgi

这里需要注意的:

如果jdk版本不够执行maven命令时会报错

下载后我选择将文件解压到D盘,配置环境变量

M2_HOME,MAVEN_HOME(解压文件对应地址)

path中配置%M2_HOME%\bin

完成配置后,cmd中执行mvn -version输出信息

配置成功。

maven核心是pom.xml(基于项目的建立模型),maven官网描述:Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

在maven中,坐标是jar包的唯一标识,maven通过坐标在项目中找到以来的jar。groupId和artifactId构成了一个jar包的坐标。groupId:项目名   artifactId:模块名

基本的maven指令:compile:编译  test:测试  执行test目录下面的测试用例 package:打包  jar或war形式  install:安装  将当前项目放置到maven的本地仓库中供其他人使用

maven主要是解决jar包依赖的问题,有两点要注意:

传递依赖 与 排除依赖

传递依赖:如果我们的项目引用了一个Jar包,而该Jar包又引用了其他Jar包,那么在默认情况下项目编译时,Maven会把直接引用和简洁引用的Jar包都下载到本地。

排除依赖:如果我们只想下载直接引用的Jar包,那么需要在pom.xml中做如下配置:(将需要排除的Jar包的坐标写在中)

<exclusions>
    <exclusion>
        <groupId></groupId>
        <artifactId></artifactId>
    </exclusion>
</exclusions>
关于依赖冲突:
maven采用了两种避免冲突的方法:1短路优先

本项目——>A.jar——>B.jar——>C.jar——>X.jar 本项目——>D.jar——>X.jar
最终maven会选择D依赖的X.jar
2声明优先 当引用路劲长度相同时,pom.xml中谁先被声明,就使用谁。

 

posted @ 2017-03-23 11:30  不抽烟的小程序员  阅读(245)  评论(0)    收藏  举报