MAVEN学习笔记

MAVEN是什么

  • maven的功能是合理地叙述项目间的依赖关系(我理解就是利用pom.xml配置jar包,maven通过pom.xml获取项目间的依赖关系)

  • 以下是pom.xml文件

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.wuhao.maven.quickstart</groupId>
  <artifactId>simple</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>simple</name>
  <url>http://maven.apache.org</url>
  <dependencies> //所要依赖的jar统一放到这个下面,一般说是依赖的构件,其实就是jar
  <dependency> //其中的一个jar的依赖属性
      <groupId>junit</groupId>  //一般为包名,也就是域名的反写
      <artifactId>junit</artifactId> //项目名
      <version>3.8.1</version>//所需要的jar版本
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
  • 加入的pom.xml文件属于A项目,那么A项目肯定是一个maven项目,通过上面这三个属性能够找到junit对应版本的jar包,那么junit项目肯定也是一个maven项目,junit的maven项目中的pom.xml文件就会有三个标识符,比如像下图这样,然后别的maven项目就能通过这三个属性来找到junit项目的jar包了。所以,在每个创建的maven项目时都会要求写上这三个属性值的。

仓库的概念

通过pom.xml中的配置,就能够获取到想要的jar包(还没讲解如何配置先需要了解一下仓库的概念),但是这些jar是在哪里呢?就是我们从哪里获取到的这些jar包?答案就是仓库。

  • 仓库分为:本地仓库,第三方仓库,中央仓库
    1. 本地仓库:
      Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,每个电脑默认的仓库是在 $user/home/.m2/repository下
    2. 第三方仓库:
      第三方仓库,又称为内部中心仓库,也称为私服。
      私服:一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。(使用私服为了减少对中央仓库的访问,私服可以使用的是局域网,中央仓库必须使用外网,也就是一般公司都会创建这种第三方仓库,保证项目开发时,项目所需用的jar都从该仓库中拿,每个人的版本就都一样。
    3. 中央仓库
      Maven内置了远程公用仓库:http://repo1.maven.org/maven2,这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主,工程依赖的jar包如果本地仓库没有,默认从中央仓库下载

MAVEN的使用

mvn archetype:create -DgroupId=com.wuhao.maven.quickstart -DartifactId=simple -DarchetypeArtifactId=maven-archetype-quickstart

mvn:核心命令

  • archetype:create:创建项目,现在maven高一点的版本都弃用了create命令而使用generate命令了。
  • -DgroupId=com.wuhao.maven.quickstart :创建该maven项目时的groupId是什么,该作用在上面已经解释了。一般使用包名的写法。因为包名是用公司的域名的反写,独一无二            
  • -DartifactId=simple:创建该maven项目时的artifactId是什么,就是项目名称           
  • -DarchetypeArtifactId=maven-archetype-quickstart:表示创建的是[maven]java项目

命令操作maven java或web项目

  • 编译:mvn compile  –src/main/java目录java源码编译生成class (target目录下)
  • 测试:mvn test    –src/test/java 目录编译
  • 清理:mvn clean    –删除target目录,也就是将class文件等删除
  • 打包:mvn package  –生成压缩文件:java项目#jar包;web项目#war包,也是放在target目录下
  • 安装:mvn install   –将压缩文件(jar或者war)上传到本地仓库
  • 部署|发布:mvn deploy  –将压缩文件上传私服

参考(讲的非常通俗易懂)https://www.cnblogs.com/whgk/p/7112560.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值