Maven读这一篇就够了

本文详细介绍了Maven作为项目管理工具的作用、发展背景、与其他工具的对比,以及Maven的下载、安装、配置和使用。重点讨论了Maven的依赖管理、多模块构建、统一项目结构和插件机制,还深入解析了POM文件,并指导如何搭建和使用Nexus私服,最后列举了Maven使用中常见的问题和解决方法。
摘要由CSDN通过智能技术生成

Maven

1、Maven技能树

Maven知识结构

2、了解项目管理工具

2.1 项目管理工具诞生的原因

  • jar包难以寻找
  • jar包依赖的问题
  • jar包版本冲突问题
  • jar不方便管理
  • 项目结构五花八门
  • 项目的生命周期控制方式五花八门

2.2 有哪些项目管理工具

  • Ant
  • Maven
  • Gradle

3、什么是Maven

官网传送门

官方操作手册

3.1 Maven的形成

  • Maven最初是为了简化 一个用Jakarta Turbine框架开发的Web项目中的构建过程的一个工具。
  • 提到项目构建,在以前比较火热的是Apache Ant这个构建脚本工具;Ant火热代表了当时它很好用,但有两个致命缺点:
    • 有几个项目,每个项目都有自己的 Ant 构建文件,都略有不同
    • 无法管理依赖
  • 为了解决上述需求,Maven就这样诞生了:
    • 在具备Ant功能的基础上,打造一种可以用于构建和管理任何基于 Java 的项目的工具,提供:
      • 标准方法(对象模型POM)
      • 对项目组成的清晰定义(结构)
      • 一种发布项目信息(部署)的简单方法
      • 一种在多个项目之间共享 JAR (中央仓库)的方法

3.2 Apache Ant对比Apache Maven Project

Apache Ant: 软件构建工具

Apache Maven Project: 软件项目管理和理解工具

  • 使用Project Object Model来对软件项目管理
  • 内置了更多的隐式规则,使得构建文件更加简单
  • 内置依赖管理和Repository来实现依赖的管理和统一存储
  • 内置了软件构建的生命周期

3.3 Maven的目标

Maven 的主要目标是让开发人员在最短的时间内了解任何基于 Java 的项目。为了实现这个目标,Maven 处理了几个关注的领域:

  • 简化构建过程
  • 提供统一的构建系统
  • 提供优质项目信息
  • 鼓励更好的开发实践

3.4 总结

  • Maven是一个管Java项目的管理工具,主要管构建、打包、部署(全生命周期的管理)
  • Maven通过对象模型-Project Object Model(pom)来对软件项目管理
  • Maven的项目结构有一些显示和隐式规则

4 Maven的下载、安装以及配置

4.1 下载

官网下载页面传送门

4.2 安装

1、直接将tar.gz的文件夹解压到你指定的目录(想放哪放哪,别用中文命名)

2、配置环境变量:MAVEN_HOMEPATH

MAVEN_HOME:maven存放路径

PATH:%MAVEN_HOME%/bin

3、打开命令窗口测试是否配置成功:mvn -v

Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
Maven home: /Users/nan/DevelopmentEnvironment/apache-maven-3.8.3
Java version: 1.8.0_191, vendor: Oracle Corporation,
runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"

4、在maven安装路径下新建文件夹repository并修改./apache-maven-3.8.3/conf/setting.xml默认的仓库位置

用于替换默认的.m2文件夹,避免占用系统盘资源

<localRepository>repository的路径</localRepository>

5、配置setting.xml,将外网的maven官方镜像换成国内的阿里云镜像

<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>        
</mirror>

6、配置全局&自定义IDEA开发工具

打开IDEA后不要进入项目,然后打开preferences->Build->Build Tools->Maven image-20211026180910423

5 建一个maven项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 Maven四大特性

6.1 依赖管理系统

依赖: 你的项目引入了那些jar包,无论是开源的还是不开源的,这些jar就是你项目的依赖,你的项目依赖于他们才能用,比如jdbc、fastjson、jetty、slf4j等

原来依赖咋引入: 最初这些东西需要我们自己去网上找,然后下载下来、复制到项目中然后构建到项目当中去

现在Maven咋引入依赖: Maven的依赖管理相当于它做了一个公共平台,jar包提供商将下载地址托管到这个平台,使用者直接在一个统一的地方去下载各式各样的依赖,找依赖、管依赖等繁琐步骤maven给你干了,你只管确定自己要用谁家的哪个东西、哪个版本,直接通过maven提供的坐标地址下揍中咧,坐标格式如下:

<!-- <dependencies>声明:是叫引入的依赖的,都得搁这个标签里面 -->
<dependencies>
    <!-- <dependency>声明引入A依赖 -->
	<dependency>
    <!-- <groupId>
		官方解释:公司或者组织的唯一标志
		人话:就是咱们建项目时的包名,人家叫com.talent.core你叫com.balala.666;com.balala.666其实也是你存储的文件夹的层		 级,这个要是写的不对直接就找不着这个依赖了
		-->
		<groupId>com.talent.core</groupId>
    <!-- <artifactId>
		官方解释:项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的
		人话:你就理解成你上人家那个包路径下下载jar包去,但人家的项目是个多模块的,你得确定子项目名,进去之后才能看见你要的jar
		-->
		<artifactId>Anyonelse-core</artifactId>
        <!-- <version>
				见名知意,这个就是你要下这个jar的那个版本的,有时候新的版本可能去掉了一些原有的功能,你上来就找18的小姑娘有可能受不了 
			  -->
        <version>${anyonelse_version}</version>
    
    <!-- <dependency>声明引入B依赖 -->
    
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值