maven学习

准备工作:

下载maven软件包

http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip

解压到本地硬盘,复制bin路径并添加到系统path路径下。

运行cmd后,输入 mvn -version能正确输出即安装完成


创建maven项目

1. 本地目录新建项目名目录,并手动编辑pom.xml文件,举例如下:

<?xml version="1.0" encoding="UTF-8" ?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  
  
  <groupId>cn.yf.maven.hello</groupId>  <!--项目的名称 -->
  <artifactId>hello-first</artifactId> <!--hello项目的first模块名称,一般用 “项目名称 - 模块名称”的格式 -->
  <version>SNAPSHOT-0.0.1</version> <!-- 项目版本名称 -->
  

<!--依赖 -->
  <dependencies>

       <!-- junit的依赖 -->
      <dependency>
     <groupId>junit</groupId>
 <artifactId>junit</artifactId>
 <version>4.10</version>
 <scope>test</scope>
 </dependency>
  </dependencies>
  
  </project>


2. 创建和测试代码

源代码目录路径 src/main/java

测试代码路径  src/test/java

资源文件路径  src/main/resources

测试资源文件路径 src/test/resources


3. 运行maven

mvn clean   -- 运行清理操作,默认会把target文件夹中的数据清理

mvn clean compile  -- 表示先运行清理,之后运行编译,会将代码编译到target文件夹中

mvn clean test    -- 运行清理和测试

mvn clean package --运行清理和打包

mvn clean install  -- 运行清理和安装,会将打好的包安装到本地仓库中,以便其它项目可以调用

mvn clean deploy  --运行清理和发布,发布到私有服务器

mvn archetype:generate  --自动生成maven骨架项目


4. 依赖的查找

所有的依赖都是通过坐标来进行存储的

(GAV --> groupId, artifactId, version)

通过网上的仓库提供坐标查询(http://mvnrepository.com)

通过<dependencies>设置依赖

maven搜索依赖,首先会在本地仓库查询,如果本地仓库没有,再去中央仓库查询。


5. 依赖的传递性

依赖是会被传递的

例如 A-->C  B-->A    ==>  B依赖C,这种依赖是基于compile这个范围进行传递

  如果没有写scope,默认的scope是compile范围

test范围指的是测试范围有效,在编译和打包时候都不会使用这个依赖

compile范围指的是编译范围有效,在编译和打包都会将依赖存储进去

provided依赖,在编译和测试的过程有效,最后生成war包时不会加入,诸如servlet-api ,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突。

runtime在运行的时候依赖,在编译的时候不依赖。


6. 传递性依赖冲突

a--> b 1.0

c--> b 1.1

d-->a和c

在d的pom中,a和c,哪个依赖先写,则使用b的哪一个版本。


另外一种情况

a-->b 1.0

c-->b 1.1

d-->a和c ,则d -->b 1.0

f-->d和c,则f-->b 1.1(如果路径的长短不一致,则选择最小路径。)


手动排除低版本依赖:

<exclusions>

    <exclusion> ...</exclusion>

</exclusions>





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值