maven配置与介绍

Maven是一款由Apache软件基金会维护的Java平台项目构建和依赖管理工具。它通过约定的目录结构、项目对象模型(POM)、依赖管理和仓库管理等核心概念实现自动化构建。Maven的生命周期包括Clean、Default和Site,提供了诸如清理、编译、测试、打包、安装和部署等阶段。通过插件和目标,Maven能执行具体任务,并支持继承和聚合来管理多个项目。此外,Maven的本地和远程仓库用于存储插件和依赖,而配置文件可以定制本地仓库位置和镜像设置。
摘要由CSDN通过智能技术生成

Maven介绍

Maven 简介

Maven 是Apache 软件基金会组织维护的一款自动化构建工具,专注服务于Java 平台的项目构建依赖管理

什么是构建

构建并不是创建,创建一个工程并不等于构建一个项目。
构建就是以我们编写的Java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等静态资源作为“原材料”,去“生产”出一个可以运行的项目的过程。

构建过程的几个主要环节

清理:删除以前的编译结果,为重新编译做好准备。
编译:将Java 源程序编译为字节码文件。
测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
报告:在每一次测试后以标准的格式记录和展示测试结果。
打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应war 包。
安装:在Maven 环境下特指将打包的结果——jar 包或war 包安装到本地仓库中。
部署:将打包的结果部署到远程仓库或将war 包部署到服务器上运行。

Maven 核心概念

Maven 能够实现自动化构建是和它的内部原理分不开的,这里我们从Maven 的九个核心概念入手,看看Maven 是如何实现自动化构建的
① POM
② 约定的目录结构
③ 坐标
④ 依赖管理
⑤ 仓库管理
⑥ 生命周期
⑦ 插件和目标
⑧ 继承
⑨ 聚合

Maven 的核心程序

  • Maven 的核心程序中仅仅定义了抽象的生命周期,而具体的操作则是由 Maven 的插件来完成的

  • 可是Maven 的插件并不包含在Maven 的核心程序中,在首次使用时需要联网下载。
    下载得到的插件会被保存到本地仓库中。本地仓库默认的位置是:~.m2\repository。
    如果不能联网可以使用我们提供的RepMaven.zip 解压得到。

  • 约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环,就拿自动编译来说,Maven 必须能找到Java 源文件,下一步才能编译,而编译之后也必须有一个准确的位置保持编译得到的字节码文件。

  • 在这里插入图片描述

POM

Project Object Model:项目对象模型。将 Java 工程的相关信息封装为对象作为便于操作和管理的模型。 Maven 工程的核心配置。可以说学习Maven 就是学习pom.xml 文件中的配置。

Maven 的坐标

用如下三个向量在Maven 的仓库中唯一的确定一个 Maven 工程。
[1] groupid公司或组织的域名倒序+当前项目名称
[2] artifactId当前项目的模块名称
[3] version当前模块的版本

<groupId>com.atguigu.maven</groupId>
 <artifactId>Hello</artifactId> 
<version>0.0.1-SNAPSHOT</version> 

如何通过坐标到仓库中查找 jar 包?

[1]将gav 三个向量连起来:==com.atguigu.maven+Hello+0.0.1-SNAPSHOT ==

[2]以连起来的字符串作为目录结构到仓库中查找:
com/atguigu/maven/Hello/0.0.1-SNAPSHOT/Hello-0.0.1-SNAPSHOT.jar

注意:我们自己的Maven 工程必须执行安装操作才会进入仓库。安装的命令是:mvn install

依赖

1.properties元素
在<properties></properties>之间可以定义变量,以便在<dependency></dependency>中引用。

2.dependencies元素
<dependencies></dependencies>,此元素包含多个项目依赖需要使用的<dependency></dependency>元素。

3.dependency元素
<dependency></dependency>元素内部通过<groupId></groupId>、<artifactId> </artifactId>、<version></version>三个子元素确定唯一的依赖,也可以称为三个坐标。示例代码如下:

在项目以依赖的方式引入一个我们需要的 jar包(就是使用dependency标签指定被依赖 jar包的坐标就可以了。)

<dependency>
	<!--groupId组织的唯一标识  -->
	<groupId>org.springframework</groupId>  
	<!--artifactId项目的唯一标识  -->
    	<artifactId>spring-core</artifactId>  
    <!--version 项目的版本号 -->
    <version>${spring.version}</version>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值