Maven的基础知识
创始人
2024-01-29 18:16:45
0

Maven介绍

Maven 是一个项目管理和 综合工具,Maven 提供了开发人员构建一个完整的生命周期框架,开发团队可以自动完成项目的基础工具建设,Maven 使用标准的目录结构 和 默认构建生命周期。

Maven是什么?

它是一个 Apache 的开源项目,主要服务于基于 Java 平台的项目构建,依赖管理 和项目信息管理。

配置maven的环境变量

右击此电脑,选择属性,打开高级系统设置,选择环境变量,在系统变量找到 path ,点击编辑,将 maven 的安装路径添加上即可

Maven目录说明

bin:该目录下存放的是执行文件,命令

boot:该目录存放的是 maven 启动时需要的 jar 包

conf: 存放一个重要的配置文件,maven 的核心配置文件/全家配置文件---> settings.xml 文件

自定义安装Maven

在 maven.Apache 官网中下载到 meven.zip 文件,解压完成后,需要配置环境变量,同时需要一个 .m2 文件夹,如果没有该文件夹,我们在 cmd 命令 执行 mvn help:system 命令,执行完该命令会发现目录下自动创建了.m2 文件目录

Maven仓库

Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服务。

仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,得益于 Maven的坐标机制,任何 Maven 项目使用任何一个构件的方式都是完成相同的。

Maven 可以在某个位置统一存储所有Maven 项目共享的构件,这个统一的位置就是仓库,项目构建完毕后生成的构件也可以安装或部署到仓库中,供其他项目使用。

对于 Maven 来说,仓库分为两类,本地仓库和远程仓库。

远程仓库

不在本机中的一切仓库,都是远程仓库: 分为中央仓库 和 本地私服仓库

远程仓库指通过各种协议如:file:// 和 http://访问的其他类型的仓库,这些仓库可能是第三方搭建的真实的远程仓库,用来提供它们的构件下载(例如 repo.maven.apache.org和uk.maven.org是Maven的中央仓库)。其他 远程 仓库可能是你的公司拥有在建立在文件或HTTP服务器的内部仓库(不是Apache 的那个中央仓库,而是你们公司的私服,你们自己在局域网中搭建的 maven仓库),用来在开发团队间共享私有构件和管理发布的.

默认的远程仓库使用的 Apache 提供的中央仓库 http://mvnrepository.com

本地创库

本地仓库指本地的一份拷贝,用来缓存远程下载,包含你尚未发布的临时构件

配置

在 settions.xml 文件中配置本地仓库

打开 setting.xml 配置文件

本地仓库在硬盘中的位置

在 settions.xml 文件中配置镜像仓库

如果仓库 A 可以提供仓库 B 存储的所有内容,那么就可以认为A是B的镜像。例如:在国内直接连接中央仓库下载依赖,由于一些特殊原因下载速度非常慢。这是,我们可以使用阿里云提供的 镜像 http://maven.aliyun.com.nexus/content/grounps/public/来替换中央仓库 http://repol.maven.ort/maven2/ 修改 maven 的 setting.xml 文件

nexus-aliyuncentralNexus aliyunhttp://maven.aliyun.com/nexus/content/grounps/public/

优先级别

本地仓库 --> 到配置文件中指定的仓库中 --> 如果没有配置镜像仓库,就会去到中央仓库中找(如果配置了镜像仓库就会到镜像仓库中找,如果镜像仓库中没有,再去默认的中央仓库)

JDK的配置

如果你的 idea 中有多个 jdk的时候,就需要指定你的编译和运行的 jdk:

在 settings.xml 中配置

jdk1.8true1.81.81.81.8

注:配置的前提是 idea 中要有对应的 jdk

Maven 工程类型

POM工程

POM工程是逻辑工程 ,用在父级工程或聚合工程中,用来做 jar包的版本控制

该工程更多是起到管理作用,该工程中不能写逻辑性代码和业务性代码

JAR 工程

将会打包成 jar,用作jar包使用,即常见的本地工程 --- > Java Project

WAR 工程

将会打包成 war,发布在服务器上的工程

Maven项目的目录结构

src/mian/java:该目录下存储的是 Java源代码

src/mian/resources:存储主要的资源文件,比如 xml 配置文件和properties 文件

src/test/java:存储测试用的类,比如 JUNIT的测试一般就放在这个目录下面,因为测试类本身就不属于项目的,所以放在任何一个包下都显得很尴尬,所以 maven 专门创建了一个测试包,用于存放测试的类

src/test/resources:可自己创建存储测试环境使用资源文件

src:包含了项目所有的源代码和资源文件,以及其他项目相关的文件

target:编译后内容放置的文件夹 如 .class文件

pom.xml:是Maven的配置文件,配置项目和项目之间的关系,包含配置依赖关系等等

注:在 Maven 创建的项目中的包名不要随便更改

Maven中的常见命令

install : 本地安装,包含编译,打包,安装到本地项目

编译 - javac: 打包 jar,将 java 代码打包为 jar 文件

安装到本地仓库 ,将打包的 jar 文件,保存到 本地仓库目录中

clean : 消除已编译信息。删除工程中的 target 目录

compile : 只编译,javac 命令

package: 打包,包含编译,打包两个功能

package 和 install 的区别:

package 命令完成了项目编译,单元测试,打包功能,但没有把打包好的可执行 jar 包 (war 包或其他形式的包) 部署到本地 maven 仓库和 远程 maven私服仓库

install 命令完成了项目编译,单元测试,打包功能,同时把打包好的可执行 jar 包 (war 包或其他形式的包)部署到本地 maven 仓库,但没有部署到远程 maven 私服仓库

相关内容

热门资讯

快递丢件怎么赔偿?快递员丢件一...   网购是我们现在最经常使用的购物方式之一,但我们在网购时常常会遇到订单异常快递丢失的情况,那么快递...
寄省外哪个快递最便宜价格表,哪...   如今快递收费还是非常多的,但是不同的快递公司收费标准也是不同的,因此在选择快递公司的时候也要根据...
理财产品哪个银行收益率高?20...   现在每个银行都有自己的理财产品,每个银行的特点也都是不一样的。大家选择理财产品肯定首选的是收益率...
医保卡必须交6个月才能用吗,什...   国家对我们百姓的民生和健康还是很关注的,以前看病难,主要也是因为看病没有什么报销,所以就看病难了...
在手机上如何查个人企业年金?个... 很多企业为了招揽更多人才,树立自己良好的企业形象,会用一种重要的养老保险形式“企业年金”来吸引就业者...
一般医疗保险包括哪些疾病?30...   保险确实可以大幅减轻被保险人的医疗开支,又了保险,一般小病去看病几乎不花钱,可以说是花小钱办大事...
不去银行怎么更新身份证信息?手...   在办理银行卡的时候是需要携带本人的身份信息办理的,是需要进行实名认证,所以说在银行预留的信息是有...
养老保险缴费记录怎么查询?查金... 社保是缴纳养老保险的其中一种方式。有时候我们缴纳以后,会想要查看一下缴费记录以确认。但是很多朋友对于...
社保卡过期了还能用吗 处理方法... 社保卡是很重要的证件,同时它也是有时间限制的。有部分朋友就遇到了社保卡过期的状况,那么这时候应该怎么...
下调存款准备金率意味着什么?2...   一般来说,大家在把钱存入银行后,银行就会有更多的收入进行放贷,这就成了中央银行的货币政策使用工具...