Maven

二,maven

–1,概述

是一个用来项目构建工具,用来管理项目中用到的jar包.
Maven的核心: 下载jar包 + 存放jar包 + 编译jar包
pom模型,引入了“仓库”、“依赖”、“坐标”和“命令”。
在这里插入图片描述

四大特征:

1.仓库 repository
远程仓库/中央仓库: 本质上就是一个国外的网址
镜像仓库: 就是一个国内的网址,比如:阿里云
本地仓库: 需要你在磁盘中创建一个文件夹,存放下载好的jar包
2.坐标: 唯一定位jar包的方式.
groupId是组id,通常他的值是公司的域名
artifactId是项目id,通常他的值是项目名称
version是jar包的版本号
在这里插入图片描述

3.依赖: jar包之间也有复杂的依赖关系, maven可以下载所有关联的jar包
4.命令mvn cmd:Maven借鉴前辈定义了一套生命周期。共有3个生命周期:clean、default、site,每个生命周期包含多个阶段phase。
在这里插入图片描述
常用命令:

  • clean 清理
  • compile 编译
  • test 测试
  • site 站点文档
  • package 打包jar、war
  • deploy 部署到私服
  • install 安装jar到本地仓库中
  • run 运行
    每个周期中运行一个命令时,在这个周期里的其他在该命令之前的phase步骤都会执行。

–2,使用步骤

Maven官网:
1.解压maven的压缩包,建议解压到一个maven专门的包
2.找到settings.xml文件(在D:\apache-maven-3.6.3\conf里),修改两处:
在这里插入图片描述

本地仓库: 存放jar包的位置,自己指定一个磁盘路径(apache-maven同包)
在这里插入图片描述

镜像仓库: 下载jar包的网址,阿里云

<!--阿里私服地址-->
<mirror>
	<id>ali</id>
	<name>ali Maven</name>
	<mirrorOf>*</mirrorOf>
	<url>https://maven.aliyun.com/repository/public/</url>
</mirror>

–3,IDEA里整合Maven

1.File–Settings—给当前的工程配置maven
2.File–New Projects Settings—给所有的新工程统一配置maven
3.Build,Execution…—Build Tools—Maven
4.配置如图
在这里插入图片描述

–4,IDEA里创建Maven工程

File–New–Project–选择Maven–next–设置工程名/groupId–Finish
在这里插入图片描述

–5,修改pom.xml文件,添加jar包的坐标

<?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">
    <modelVersion>4.0.0</modelVersion>

    <!--groupId是组id,值是域名  -->
    <groupId>cn.tedu</groupId>
    <!--artifactId是组项目id,值是项目名称  -->
    <artifactId>cgb2108maven01</artifactId>
    <!--version是项目的版本号-->
    <version>1.0-SNAPSHOT</version>

    <!--pom里可以添加jar包,maven自动去镜像仓库下载jar包到本地仓库-->
    <dependencies>
        <!--添加MySQL的jar包,groupId,artifactId,version-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.48</version>
        </dependency>

    </dependencies>

</project>


–6,检查是否下载完成

原则:pom文件里i没有飘红就行

–7,总结

1.解压maven的压缩包
2.找到settings.xml文件,修改了本地仓库和镜像仓库
3.在IDEA里创建Maven工程
4.给Maven工程配置Maven,否则都用的默认位置,jar包会下载到C盘
5.修改pom.xml , 添加jar包的坐标
6.点刷新按钮,下载jar包
7.只要pom.xml文件里没有飘红就行了

三,IDEA里创建SpringBoot项目

–1,测试

改一下下载jar包的网址 https://start.aliyun.com在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

常见问题

搜索maven依赖的坐标

查询最新版本和坐标 http://search.maven.org/

执行maven命令时内存溢出

在使用maven时,如果报内存溢出,如使用 mvn site会耗费大量内存,则修改默认配置。

D:\javaenv\apache-maven-3.0.5\bin\mvn.cmd

在@REM set MAVEN\_OPTS=……后加入

set MAVEN\_OPTS= -Xms128m -Xmx512m

版权导致jar远程仓库中没有

例如oracle、全文检索的IKAnalyzer分词器、Dubbox等。

解决办法:按maven坐标手动创建目录结构,将jar单独下载,放入其中。

下载中断

远程仓库为国外网站,又是众矢之的,全球都到哪里下载。常会因为网络故障导致jar下载不完全:

jsp-api-2.1.jar.lastUpdated   --没下载全,不能用,用时会报错
mysql-connector-java-5.1.48.jar –下载OK的,才可以用

遇到这样的情况:

  • 可以等待网络比较好的时候再下载
  • 可以拷贝别人的仓库
  • 如果只是个别jar包,可以到jar的官网下载后,然后手动配置
    最恶劣的一种情况,下载出异常,也就是pom.xml会提示jar包有问题,可到maven本地仓库,jar也存在。这时可以打开jar包,看是否能打开。如果打不开,则删除,触发maven重新下载。

避免上网下载这么多jar

注意: Maven不同的myeclipse/eclipse,myclipse的maven的插件会调用不同版本的jar。不会缺少业务使用的jar。

Maven命令实际是一个jar包,运行前必须需下载maven的插件,运行时判断如果不存在会自动下载。

Maven仓库死活不对之绝招

拷贝环境没问题的 同学的配置文件 和 仓库 。

版本号共享

通常在项目中,我们会同时依赖同一个构件的不同模块,如 spring-orm-3.2.0,spring-context-3.2.0,且多个模块版本相同,为了维护和升级方便,我们可以对其同一管理,这时可以使用到 Maven 属性,类似于变量的概念。

<!-- 集中定义依赖版本号 -->
<properties>
	<junit.version>4.10</junit.version>
	<spring.version>4.1.3.RELEASE</spring.version>
</properties>

<!--引用的地方 -->
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>${spring.version}</version>
</dependency>命令插件

一键部署,执行每个命令会自动调用前面的命令。可以一次执行多个命名。只能执行本生命周期中的前面的命令。

每个maven命令就是一个jar,一个maven插件。在第一次运行时下载。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值