史上最详细的Maven使用笔记(建议收藏)(1)

4、自动构建项目依赖(节省存储资源,避免jar包冲突问题)

4、自动构建项目依赖(节省存储资源,避免jar包冲突问题)

仓库(依赖 jar包)

maven只引入框架核心jar包,自动解决jar包冲突问题,不需要负责粘贴jar包

*注意:maven引入的是jar包的坐标

一个jar包对应着有一个坐标

org.mybatis

mybatis

3.4.6

构建依赖分析:

通过分析发现:

maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar包的坐标,

这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文件,

再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从

而找到这些 jar 包,再把这些 jar 包拿去运行。

那么问题来了

1:”存放 jar 包的仓库”长什么样?

2:通过读取 pom.xml 文件中的坐标,再到仓库中找到 jar 包,会不会很慢?从而导致这种方式

不可行!

第一个问题:存放 jar 包的仓库长什么样,这一点我们后期会分析仓库的分类,也会带大家去看我们

的本地的仓库长什么样。

第二个问题:通过 pom.xml 文件配置要引入的 jar 包的坐标,再读取坐标并到仓库中加载 jar 包,这

样我们就可以直接使用 jar 包了,为了解决这个过程中速度慢的问题,maven 中也有索引 的概念,通

过建立索引,可以大大提高加载 jar 包的速度,使得我们认为 jar 包基本跟放在本地的工程文件中再

读取出来的速度是一样的。这个过程就好比我们查阅字典时,为了能够加快查找到内容,书前面的

目录就好比是索引,有了这个目录我们就可以方便找到内容了,一样的在 maven 仓库中有了索引我

们就可以认为可以快速找到 jar 包。

5、自动运行单元测试

5、自动运行单元测试

世界上没有不存在 bug 的代码,计算机喜欢 bug 就和人们总是喜欢美女帅哥一样。为了追求美为

了减少 bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。

6、一键构建

我们的项目,往往都要经历编译、测试、运行、打包、安装 ,部署等一系列过程。

1.什么是构建?

指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个

过程称为构建。

一键构建

指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。

Maven 规范化构建流程如下:每个阶段使用一个命令完成

👉总结:如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程管理 jar

编译代码 ,还能帮你自动运行单元测试打包生成报表 ,甚至能帮你部署项目 ,生成 Web 站

,你会心动吗?Maven 就可以解决上面所提到的这些问题

三、maven工具的安装配置

=================================================================================

1、安装 解压即可

注意:文件目录不要太深 名字中不要有中文或空格

2、环境配置 环境变量中添加配置

Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK。

安装 JDK1.8 + 版本 (将JAVA_HOME/bin 配置环境变量 path ),我使用的是 JDK8 相关版本

配置 MAVEN_HOME ,变量值就是你的 maven 安装 的路径(bin 目录之前一级目录)

右键 “计算机”,选择 “属性”,之后点击 “高级系统设置”,点击"环境变量",

来设置环境变量,有以下系统变量需要配置:

(1)新建系统变量 MAVEN_HOME,变量值:E:\Maven\apache-maven-3.3.9

(2)编辑系统变量 Path,添加变量值:%MAVEN_HOME%\bin

注意:注意多个值之间需要有分号隔开,然后点击确定。

(1)新建系统变量 MAVEN_HOME,变量值:D:\develop\apache-maven-3.5.3

(2)编辑系统变量 Path,添加变量值:%MAVEN_HOME%\bin

(3)测试配置文件是否成功

四、maven项目结构

==============================================================================

1.src/main/java —— 存放项目的.java 文件

2.src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件

3.src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类

4.src/test/resources —— 测试资源文件

5.target —— 项目输出位置,编译后的 class 文件会输出到此目录

6.pom.xml——maven 项目核心配置文件

  • 注意:如果是普通的 java 项目,那么就没有 webapp 目录。

作为一个 maven 工程,它的 src 目录和 pom.xml 是必备的。

进入 src 目录后,我们发现它里面的目录结构如下

五、手工构建Maven项目

================================================================================

pom.xml:

<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">

4.0.0

com.tjcu.edu

maven_day1

1.0

Maven 规范化构建流程如下:每个阶段使用一个命令完成

(1)mvn compile:编译

(2)mvn clean :清除

(3)mvn test:测试

(4)mvn package :打包

(5)mvn install

1、mvn compile:编译

compile 是 maven 工程的编译命令

作用: 将 src/main/java 下的文件编译为 class 文件输出到 target目录下。

cmd 进入命令状态,执行 mvn compile,如下图提示成功:

会出现target包:

查看 target 目录,class 文件已生成,编译完成。

2、mvn clean :清除

clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。

3、mvn test:测试

test 是 maven 工程的测试命令 mvn test

作用: 会执行 src/test/java 下的单元测试类。

cmd 执行 mvn test 执行 src/test/java 下单元测试类

下图为测试结果,运行 1 个测试用例,全部成功:

4、mvn package :打包

package 是 maven 工程的打包命令

作用: (1)对于 java 工程执行 package 打成 jar 包

(2)对于 web 工程打成 war包。

打包后;target中会有打包好的jar包

在这里插入图片描述

5、mvn install 安装

install 是 maven 工程的安装命令

作用:执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。

从运行结果中,可以看出:

当后面的命令执行时,前面的操作过程也都会自动执行!

👉注意:

1、maven命令时后边不能加分号

2、每个maven命令多对应一个依赖 ,第一次使用时需要下载 下载一次

下载要求网速的原因:需要去国外下载

六、Maven仓库结构

==============================================================================

1.默认本地库

2.如果没有就联网去中心仓库下载到本地仓库(要求网络稳定)

3.配置阿里云镜像仓库(解决跨国下载资源网络不稳定问题)

4、修改本地仓库位置

1、默认本地仓库:

本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,

优先从本地仓库查找

默认本地仓库位置在 u s e r . d i r / . m 2 / r e p o s i t o r y , {user.dir}/.m2/repository, user.dir/.m2/repository{user.dir}表示 windows 用户目录。

配置位置:maven安装目录中---->conf---->settings.xml

2、如果没有就联网去中心仓库下载到本地仓库(要求网络稳定)

中央仓库 :在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中

央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包

含了世界上大部分流行的开源项目构件

美国maven仓库下载

3、配置阿里云镜像仓库(解决跨国下载资源网络不稳定问题)

远程仓库(阿里云云镜像仓库就是远程仓库也算是远程仓库,但是大多数公司都会有自己的远程仓库):

如果本地需要插件或者 jar 包,本地仓库没有,默认去远程仓库下载。

远程仓库可以在互联网内也可以在局域网内

阿里云镜像仓库下载(后续开发中使用阿里云镜像仓库),如要额外配置

alimaven

aliyun maven

http://maven.aliyun.com/nexus/content/groups/public/

central

配置位置:maven安装目录中---->conf---->settings.xml

4、修改本地仓库位置

配置位置:maven安装目录中---->conf---->settings.xml

七、IDEA使用Maven工具

==================================================================================

IDEA集成Maven工具步骤(引入外部Maven)

选择file——>setting

八、创建Maven项目

==============================================================================

1、普通java项目

=============================================================================

(1)选择 idea 提供好的 maven 的java 工程模板

(2)点击 Next 填写项目信息

  • 项目信息注意事项:

1.父项目为空

2.artifact 项目骨架

  • 坐标中Version版本区别:

1、snapshot 1.0快照版本 没有开发完的版本

2、release 1.0 稳定版本 开发完的版本

(3)点击 Next,此处不做改动。

点击 Finish 后开始创建工程,耐心等待,直到出现如下界面。

项目创建成功信息

(4)普通java新建项目需要改动

a、修改项目pom文件

普通java项目需要

1、坐标

2、环境参数

3、依赖

注意:将标签及其内部信息全部删掉

修改后pom.xml文件:

<?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”>

4.0.0

com.tjcu

maven_java

1.0-SNAPSHOT

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<maven.compiler.source>1.7</maven.compiler.source>

<maven.compiler.target>1.7</maven.compiler.target>

junit

junit

4.11

test

b、补全项目目录结构

最终目录结构不完整,需要自己手动补齐

src/main/resources

src/test/resources

2、创建Web项目


(1)选择 idea 提供好的 maven 的web 工程模板

(2)点击 Next 填写项目信息

(3)点击 Next,此处不做改动。

(4)点击 Finish 后开始创建工程,耐心等待,直到出现如下界面。

(5)新建项目需要改动

a、修改(pom.xml详解)

项目需要

1、坐标

2、环境参数

3、依赖

4、打包方式

注意:将标签及其内部信息全部删掉

javaWeb项目相对于java基础项目就多了当前项目的打包方法(因为java基础项目默认打包方式jar,所以可以不用写)

b、补全项目结构:

1.手动添加 src/main/java 目录,如下图右键 main 文件夹——>New——>Directory

(6)tomcat部署

九、在项目中引入依赖

=============================================================================

添加依赖需要指定依赖 jar 包的坐标,但是很多情况我们是不知道 jar 包的的坐标,可以通过如下方

式查询:

1、中心库搜索网站:

http://search.maven.org/

http://mvnrepository.com/

网站搜索示例:

2、进行验证

为了避免同一时间全球的很多人访问网站设置了笔比较高级的验证码(验证两次,找轮船之类的)

3、进入到官网

4、搜索mybatis找到jar包

5、选择项目所需要的jar包

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

image

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-lsDqdkgP-1713582578556)]

[外链图片转存中…(img-pT0FcSet-1713582578556)]

[外链图片转存中…(img-NF9ZEAvD-1713582578557)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

[外链图片转存中…(img-LxPpLp5g-1713582578557)]

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值