5、Maven
我为什麽要学习这个技术?
-
在JavaWeb开发中,需要使用大量的jar包,我们手动去导入;
-
如何能够让一个东西自动帮我导入和配置这些jar包。
由此,Maven诞生了!
5.1、Maven项目架构管理工具
我们目前用来就是方便导入jar包的工具
Maven的核心思想:约定大於配置
- 有约束,不要去违反
Maven会规定你该如何去编写我们的java代码,必须要按照这个规范来;
5.2、下载安装Maven
下载完成后,解压即可;
5.3、配置环境变量
在我们的系统环境变量中,配置如下配置:
- M2_HOME:maven目录下的bin目录
- MAVEN_HOME:maven的目录
- 在系统的path中配置 %MAVEN_HOME%\bin
安装与配置完成后,cmd→mvn -version来确认是否配置完毕
5.4、阿里云镜像
- 镜像:mirrors
作用:加速我们的下载 - 建议使用阿里云的镜像
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
5.5、本地仓库
在本地的仓库,与远程的仓库;
建立一个仓库:localRepository
5.6、在IDEA中使用Maven(使用内建模版)
- 启动IDEA
- 创建一个MavenWeb项目
- Creat new project→Maven
- Create from archetype(可使用Maven内建的一些初始模版)
- 可选择maven.archetype.webapp的模版来建立
- Maven的GAV:
GroupId→组id
ArtifactId→项目名
Version→版本 - Maven Home directory:Maven的地址
User setting file:用户的配置文件
Local repository:本地仓库 - Finish
- 专案建立完后,系统会自动下载JAR包,并放置於本地仓库内
- 观察Maven仓库中多了什麽东西?
- IDEA中的Maven设置
IDEA创建成功后,Maven的配置路径(Maven home)会换成IDEA内建的路径,这部份若有发现需手动修改 - 到这般,Maven在IDEA中的配置与使用就OK了
5.7、在IDEA中使用Maven(不选择模版)
照上面顺序,但不勾选Create from archetype,即为创建一个干净的Maven项目
- src→main→java:放置Java源代码的路径
- src→main→resources:配置一些配置文件
- src→test→java:测试使用
- src→main→webapp→WEB-INF:Web的配置与静态网页(只有在Web应用下才会有)
5.8、标记文件夹功能
- Hint:如果自行建立资料夹,可以使用Mark Directory as…来标示源码与资源目录
或是从Project structure→Module来指定
5.9、在IDEA中配置Tomcat
Tomcat有两个部份:
- Local:本地
- Remote:远程
5.10 pom文件
pom.xml是Maven的核心配置文件
Maven由于他的约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的问题。
- 可在pom.xml里面配置build
在build中配置resources,来防止我们资源导出失败的问题
5.11、IDEA操作
- 目录树
里面包含Maven中jar包的联系关联
5.12、解決遇到的問題
- Maven 3.6.2:无法导入
解决方法:改用3.6.1 - Tomcat闪退
- IDEA中每次都要重复配置Maven
在IDEA中的全局默認配置中去配置Maven home directory - Maven项目中Tomcat无法配置
- Maven默认web项目中的web.xml版本问题:
IDEA的Maven的web.xml版本较旧,可以参考安装tomcat目录下的web.xml内的版本进行修改