Maven初识(二)——基本概念

本文介绍Maven的核心功能——项目构建与依赖管理。通过Maven,开发者能够实现项目的自动化构建过程,包括编译、测试等步骤;同时,Maven提供了一种高效的依赖管理方式,简化了外部库的引入流程。

为什么使用Maven?

Maven有两个核心功能,项目构建,依赖管理。这两个就是Maven的核心。除此之外,Maven还有对项目结构做出了规范,统一开发!

项目构建:

项目在编码完成后,对项目进行编译、测试、打包、部署等一系列的操作都通过 Maven来实现。

依赖管理:
  • 通过仓库的方式把包都集中放置在仓库里面,不用再把jar包放置在项目里面了,减少了项目的体积。
  • 通过配置的方式把jar包从仓库引入到项目里面,但是并不是你想象的那样需要配置所有的jar包,之所以叫做依赖管理,也是因为只需要配置核心的jar包,依赖的jar包Maven会在仓库里面找到再帮你自动导入。
  • 仓库分为三种:本地仓库、私服、中央仓库。
  • 如果你在项目里面配置的jar包,在本地服务器没有,那么就会到私服或者中央仓库里面查找,并且下载到本地仓库再引用到Maven项目里面。私服和中央仓库是需要你自己配置的,所以没配置就没有用。
本地仓库:位于程序员的电脑里面。通常项目依赖的jar包都会从另外两个仓库下载到本地才能被项目引用。
私服:公司或者开发小组维护的一个私人服务器。里面存储着需要的jar包。如私人封装的商业jar包。
中央仓库:一般是一些专业的组织维护着全世界的开源jar包。(通常是很多很多TB或者PB,这种数量级别的。)
总结:依赖管理帮你减少了项目的总体积,只需要在项目的xml里面配置要依赖的jar包就能够引入jar包到项目里面。也就是说以后我们再也不用到处找需要的jar包了,我们需要jar包时,要做的只是在项目的xml里面配置,并且只需要配置核心的jar包。当然你还要想如果本地仓库里面没有jar包时,该怎么办对吧,所以通常我们还会配置私服仓库或者中央仓库。

寻找jar包的顺序是:本地仓库->私服->中央仓库。
但是私服和中央仓库必须是你配置了才这样查找,如果没有配置私服或者中央仓库,那么就会是这种顺序:本地仓库->默认中央仓库(默认中央仓库需要翻墙,否则下载不了)。

这里写图片描述

jar包的坐标

很重要的概念,这就是为什么我们在xml里面配置就能够找到需要的jar包。

要找到一个jar包就需要一个坐标。坐标组成为:【公司网站的倒序】+【项目名称】+【项目版本号】

那么用什么来表达着三个东西呢??

groupId:公司网站倒序或者公司名称+总项目名称
artifactId:总项目名称或者子项目名称
version:项目版本号

通常我们在项目的xml里面配置需要的jar包时是这么配置的:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
    <groupId>org.springframework</groupId><!-- 公司网站倒序 -->
    <artifactId>spring-beans</artifactId><!-- 子项目名称 -->
    <version>5.0.0.M5</version><!-- 版本号 -->
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->
<dependency>
    <groupId>org.apache.struts</groupId><!-- 公司网站倒序+总项目名称 -->
    <artifactId>struts2-core</artifactId><!-- 子项目名称 -->
    <version>2.5.10.1</version><!-- 版本号 -->
</dependency>

<dependency>
  <groupId>cn.domarvel</groupId><!-- 公司网站倒序 -->
  <artifactId>blogforyouprx</artifactId><!-- 总项目名称 -->
  <version>1.0-SNAPSHOT</version><!-- 版本号,SNAPSHOT表示还处于开发中,不稳定版 -->
</dependency>

再来看张图:

这里写图片描述

配置仓库:

配置本地仓库
到conf里面找到settings.xml

找到<localRepository>

配置如:<localRepository>绝对路径</localRepository>

这里写图片描述

这里写图片描述

这里写图片描述

配置中央仓库

这里写图片描述

害怕你不知道,要一个一个的打,我还是贴出来吧。

<mirrors>  
	<!-- <mirror>  
      <id>CN</id>  
      <name>OSChina Central</name>                                                                                                                         
      <url>http://maven.oschina.net/content/groups/public/</url>  
      <mirrorOf>central</mirrorOf>  
    </mirror>  -->
	<mirror>
		<id>alimaven</id>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		<!--<mirrorOf>central</mirrorOf> -->
		<mirrorOf>central</mirrorOf>
	</mirror>
</mirrors>  

把本地仓库配置好,中央仓库配置好后,我们就可以开始新建Maven项目了。

本地仓库就是一个空文件夹,就是因为是空文件夹,所以我们需要配置中央仓库。

Maven对项目结构的规范:

比如我通过Maven创建一个JavaWeb项目:

环境:Eclipse(和IDEA一样的,没什么太大的区别)

一步一步来:

在Eclipse中配置好Maven,我们才可以新建项目。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

好了,到了这里我们就可以正式创建项目了:

这里写图片描述

在Eclipse中,我们一般勾选上,以跳过通过快速原型构建项目。在IDEA中要选择快速原型构建。

快速原型按照下面的规则选:

这里写图片描述

在Eclipse中,我们不需要快速原型构建,所以我们勾上。否则会出现很大块的项目目录都不完整。

这里写图片描述

这里写图片描述

这里写图片描述

报错原因是缺少web.xml文件,因为我们是创建的JavaWeb项目。

添加web.xml可以手动创建也可以:

这里写图片描述

创建后的目录:

这里写图片描述

认识Maven的规范目录结构

在这里插入图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

可以看到,Maven对项目的结构进行了规范,细分了什么目录放什么文件。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值