Maven的基础概念
1.仓库:用于存储资源,包含各种Jar包
仓库分类:
- 本地仓库:自己电脑上存储资源的仓库,远程连接仓库获取资源
- 远程仓库:非本机电脑上的仓库,为本地仓库提供资源
- 中央仓库:Maven团队维护,存储所有资源的仓库(maven官方的中央仓库,保存了很多开源的jar包)
- 私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源
私服的作用:
- 保存具有版权的资源,包含购买或自主研发的jar包
- 中央仓库中的jar包都是开源的,不能存储具有版权的资源
- 一定范围内共享资源,仅对内部开放,不对外共享,比如公司内部使用的仓库
2.坐标
maven中的坐标用于描述仓库中资源的位置
maven坐标的主要组成部分:
- groupId:组织ID,定义当前Maven项目隶属的组织名称(通常是域名反写,例如:com.alibab)
- artifactId:项目ID,定义当前Maven项目的名称(通常是项目名称或者模块名称,例如:mybatis,junit)
- version:版本号:定义当前项目的版本号
maven坐标具有唯一性,能确定某个资源在仓库中的位置。maven的中央仓库https://repo.maven.apache.org/maven2
maven的jar资源搜索网站https://mvnrepository.com/
maven的坐标一般类似于如下格式:
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.2</version>
</dependency>
每一个Maven项目都维护一个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">
<!--指定pom的模型版本-->
<modelVersion>4.0.0</modelVersion>
<!--打包方式Java web工程打包为war springboot工程打包为jar-->
<packaging>war</packaging>
<!--组织id-->
<groupId>com.springtest</groupId>
<!--项目id-->
<artifactId>web01</artifactId>
<!--组织id release代表完成版,SNAPSHOT代表开发版-->
<version>1.0.0-SNAPSHOT</version>
<!--设置当前工程的所有依赖-->
<dependencies>
<!--具体的依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<!--jar包生效的范围-->
<scope>test</scope>
</dependency>
</dependencies>
</project>
Maven项目的目录结构
Maven工程的目录结构如下:
左边的为Java项目结构,右边的为JavaWeb的项目结构目录。
如果我的文章对您有帮助,还请您多多支持我。支付宝帮忙扫一下吧