5、Maven

5、Maven

我为什么要学习这个技术?

1.在Javaweb开发中,需要使用大量的jar包,我们需要手动去导入

2.如何能够让一个东西自动帮我导入和配置这个jar包

由此,maven诞生了!

5.1、Maven项目架构管理工具

我们目前就是用来方便导入jar包的

Maven的核心思想:约定大于配置

  • 有约束,不要去违反

Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来

5.2、下载安装Maven

官网:https://maven.apache.org/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HycF6iU9-1624101835839)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5、Maven.assets\image-20210619184207706.png)]

下载完成后,解压即可

工一友情建议:电脑上的所有环境都放在一个文件夹下,方便管理

5.3、配置环境变量

在我们的系统环境变量中,配置如下配置:

  • M2_HOME maven目录下的bin目录(Springboot等框架会用到)
  • MAVEN_HOME maven的目录
  • 在系统的path中配置:%MAVEN_HOME%\bin

验证:mvn -version

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sbym5a49-1624101835840)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5、Maven.assets\image-20210619191250503.png)]

测试maven是否安装成功,保证必须配置完毕;

5.4、阿里云镜像

  • 镜像 :mirrors

    • 作用:加速我们的下载

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZA6zNTV-1624101835841)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5、Maven.assets\image-20210619184529981.png)]

  • 国内建议使用阿里云的镜像

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

5.5、本地仓库

在本地的仓库,远程仓库;

**建立一个本地仓库:**localRepository【在maven安装目录下新建:maven-repo文件夹】

<localRepository>D:\Environment\apache-maven-3.8.1\maven-repo</localRepository>

5.6、在IDEA中使用Maven

1.启动IDEA

2.创建一个MavenWeb项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PnkjMUDx-1624108055099)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619193506178.png)]

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

3,等待项目初始化完毕

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dmz2j6Gu-1624108055111)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619194610706.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U38vSm4I-1624108055112)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619194820333.png)]

4.观察maven本地仓库中多了什么东西?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HIjmksHB-1624108055113)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619194935927.png)]

5.Idea中的maven设置

注意:IDEA项目创建成功后,看一眼maven的配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RKvaD09E-1624108055114)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619195059383.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LIqv5xbh-1624108055115)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619195241615.png)]

更新报错,先不用管:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBDigpYH-1624108055116)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619195450580.png)]

6.到这里,maven在idea中的配置和使用就ok了

5.7、创建一个普通的maven项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ipPa4Fnu-1624108055117)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619200655587.png)]

在这里插入图片描述

这个只有在web应用下才会有

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3I5m6bEm-1624108055119)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619203255725.png)]

5.8、标记文件夹功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-25iUt8Zw-1624108055119)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619203342576.png)]

在这里插入图片描述

5.9、在idea中配置tomcat

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

解决警告问题:

**必须要的配置:**为什么会有这个问题:我们访问一个网站,需要指定一个文件夹名字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TvkEzBb2-1624108055130)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.6、在Idea中使用Maven.assets\image-20210619204240053.png)]

在这里插入图片描述

在这里插入图片描述

5.10、POM文件

pom.xml是Maven的核心配置文件

在这里插入图片描述

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

maven由于它的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或者生效问题,解决方案:

在这里插入图片描述

5.11、Idea操作

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

5.12、解决遇到的问题

1.maven 3.6.2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V7GYi6pF-1632557975342)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925113318357.png)]

解决方法:降级为3.6.1

2.tomcat闪退

一般是jdk等环境变量未配置

3.idea中每次都要重复配置maven

在idea中的全局默认配置中去配置

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

4.maven项目中tomcat无法配置

5.maven默认web项目中的web.xml版本问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QLHDuc1w-1632557975352)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925113928820.png)]

解决:替换为webapp4.0版本和tomat一致(从tomcat中ROOT项目下拷贝web.xml前面的内容即可)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0"
         metadata-complete="true">
</web-app>

6.maven仓库的使用

maven仓库地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7VUNvtHR-1632557975354)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925115513979.png)]

彩蛋

1.一台计算机可以安装多个Jdk,多个maven

只要环境变量配置区分开即可

2.idea中如果项目有问题,在problmes下可以看到
在这里插入图片描述

1.idea查看日志

Help->show log in explorer

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-77G68dmf-1632558080982)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925153726123.png)]

2.追踪tomcat startup.bat文件【里面会用到JAVA_HOME,JRE_HOME等环境变量】

可以在里面写个pause,到那里会停一下

3.idea中选择maven时,如果本机多个maven,可以展示下拉列表(要配置环境变量)

4.学习新技术,善于运用现有内容:

比如tomcat中的example目录下的例子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lkGxmpFK-1632558080984)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925154048120.png)]

访问地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-odRvsUIr-1632558080986)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925154120167.png)]

5.idea新建普通工程,右键可以新建servlet,

选中web模块即可

6.maven的setting.xml一般配置项

1)本地仓库地址

2)镜像库:阿里云,公司私服

7.一台主机配置多个maven,jdk

8.实战:在idea中创建一个web项目并运行

9.idea中默认创建的web无java和resources目录

给src设置为source root

resources设置为resources root

两种方式

1)右键 mark as

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eChazzEs-1632558080989)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925122440828.png)]

2)setting中图形话界面标记

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5WlH18Z7-1632558080990)(C:\Users\Administrator\Desktop\学习笔记\javaweb\5.7、javaweb-07:解决大家遇到的一些问题.assets\image-20210925133613435.png)]

10.maven项目缺少jar包

1)alt+enter导入依赖,如果没有,去maven仓库找gav坐标

2)如果是写servlet程序,少jar包,alt+enter没有,maven仓库不知道哪个是,直接去tomcat的lib目录下找相似的jar包

然后去maven仓库去搜索,一般用的人数最多的就是

版本选择原则:也是选择使用人数最多的

然后如果还不对,直接新建项目时,默认选择web,右键可以新建servlet,然后alt+enter可以下载jar包到lib目录下

或者maven web输入全路径,alt+enter也可以导入依赖

11.servlet返回给浏览器中文乱码

13.实战:在idea中新建一个servlet【可以模仿tomcat的examples】

14.记事本打开一个3-4M的文本文件会卡死,用notepad++,editplus,visual studio code打开瞬间的事情
15.idea之所以能够识别maven项目,是因为pom.xml文件,有时候导入别人的项目,没被识别为maven项目,直接右键pom.xml把它标记为maven项目就可以了

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值