5、Maven
我为什么要学习这个技术?
1.在Javaweb开发中,需要使用大量的jar包,我们需要手动去导入
2.如何能够让一个东西自动帮我导入和配置这个jar包
由此,maven诞生了!
5.1、Maven项目架构管理工具
我们目前就是用来方便导入jar包的
Maven的核心思想:约定大于配置
- 有约束,不要去违反
Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来
5.2、下载安装Maven
官网:https://maven.apache.org/
下载完成后,解压即可
工一友情建议:电脑上的所有环境都放在一个文件夹下,方便管理
5.3、配置环境变量
在我们的系统环境变量中,配置如下配置:
- M2_HOME maven目录下的bin目录(Springboot等框架会用到)
- MAVEN_HOME maven的目录
- 在系统的path中配置:%MAVEN_HOME%\bin
验证:mvn -version
测试maven是否安装成功,保证必须配置完毕;
5.4、阿里云镜像
-
镜像 :mirrors
- 作用:加速我们的下载
-
国内建议使用阿里云的镜像
<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项目
3,等待项目初始化完毕
4.观察maven本地仓库中多了什么东西?
5.Idea中的maven设置
注意:IDEA项目创建成功后,看一眼maven的配置
更新报错,先不用管:
6.到这里,maven在idea中的配置和使用就ok了
5.7、创建一个普通的maven项目
这个只有在web应用下才会有
5.8、标记文件夹功能
5.9、在idea中配置tomcat
解决警告问题:
**必须要的配置:**为什么会有这个问题:我们访问一个网站,需要指定一个文件夹名字
5.10、POM文件
pom.xml是Maven的核心配置文件
maven由于它的约定大于配置,我们之后可能遇到我们写的配置文件,无法被导出或者生效问题,解决方案:
5.11、Idea操作
5.12、解决遇到的问题
1.maven 3.6.2
解决方法:降级为3.6.1
2.tomcat闪退
一般是jdk等环境变量未配置
3.idea中每次都要重复配置maven
在idea中的全局默认配置中去配置
4.maven项目中tomcat无法配置
5.maven默认web项目中的web.xml版本问题
解决:替换为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仓库的使用
彩蛋
1.一台计算机可以安装多个Jdk,多个maven
只要环境变量配置区分开即可
2.idea中如果项目有问题,在problmes下可以看到
1.idea查看日志
Help->show log in explorer
2.追踪tomcat startup.bat文件【里面会用到JAVA_HOME,JRE_HOME等环境变量】
可以在里面写个pause,到那里会停一下
3.idea中选择maven时,如果本机多个maven,可以展示下拉列表(要配置环境变量)
4.学习新技术,善于运用现有内容:
比如tomcat中的example目录下的例子
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
2)setting中图形话界面标记
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项目就可以了