目录
一、前言
1.什么是Maven
Maven是一个基于Java的项目管理工具(POM项目对象模型),它可以帮助开发人员自动化构建、测试和部署Java项目。Maven通过一个中央仓库来管理项目依赖,可以自动下载所需的依赖库,并且可以自动生成项目的构建脚本。使用Maven可以大大简化Java项目的构建和管理过程,提高开发效率和项目质量。
小贴士:什么是自动化构建?
自动化构建是指利用工具或脚本来自动执行项目构建过程的一种方法。在软件开发中,构建是将源代码转换为可执行软件的过程,包括编译、链接、打包等操作。传统上,构建过程需要手动执行,开发人员需要逐步执行一系列命令或操作来完成构建。而自动化构建通过使用构建工具或脚本,将这些操作自动化执行,减少了手动操作的繁琐和错误,提高了构建的效率和一致性。
自动化构建可以实现以下功能:
- 编译源代码:将源代码转换为可执行的二进制文件。
- 依赖管理:自动下载和管理项目所需的依赖库。
- 测试:自动执行单元测试、集成测试等测试过程。
- 打包:将编译后的代码打包成可部署的软件包。
- 文档生成:自动生成项目文档。
- 部署:自动将构建好的软件包部署到目标环境。
通过自动化构建,开发人员可以节省时间和精力,减少人为错误,提高软件开发的效率和质量。
2.为什么要使用Maven
假设有一个团队正在开发一个Java Web应用程序,该应用程序需要使用多个第三方库和框架,如Spring、Hibernate、Log4j等。如果不使用Maven,开发人员需要手动下载这些库和框架,并将它们添加到项目的classpath中。这样做存在以下问题:
依赖管理困难:如果需要更新或切换库和框架的版本,需要手动下载和替换相应的jar包,容易出现版本冲突和错误。
构建过程繁琐:每次构建项目都需要手动编译、打包、部署等操作,容易出现手误和错误。
项目管理不便:如果有多个子项目,需要手动管理每个子项目的版本、构建、文档等信息,容易出现混乱和错误。
如果使用Maven,开发人员只需要在项目的pom.xml文件中声明所需的依赖库和框架,Maven会自动下载和管理这些依赖,并自动生成项目的构建脚本。
小贴士:市面上除了Maven还有Ant、Gradle等为什么选择Maven?
Ant:Ant是一个基于XML的构建工具,可以实现自动化构建、测试、打包等操作。相比Maven,Ant的配置更加灵活,可以根据项目的需求自定义构建过程。但是Ant的依赖管理和项目管理相对较弱,需要手动管理依赖和项目信息。
Gradle:Gradle是一个基于Groovy的构建工具,可以实现自动化构建、测试、打包等操作。相比Maven和Ant,Gradle的配置更加简洁,构建速度更快。同时,Gradle也支持多项目管理和依赖管理。但是,Gradle的学习曲线相对较陡峭,需要掌握Groovy语言和Gradle的DSL。
二、Maven安装与配置
1.官网下载
Maven官网
https://maven.apache.org/download.cgi
注意事项:后缀是.gz压缩格式用于unix的操作系统,而zip用于windows的操作系统。
2.Maven配置
1.将下载好的压缩包,解压至你想要安装的目录下。
2.复制Maven的根目录
3.配置Maven环境变量
此电脑➡高级系统设置➡环境变量➡
4.在Path中新建
5.CMD命令工具测试 输入:mvn -v
出现以上页面则表示安装成功!!
注意事项:在执行完以后会出现一句“‘cmd’不是内部或外部命令,也不是可执行程序或批处理文件”,如下图:
首先,能够正确执行mvn命令,说明Maven的配置是没问题的,那么问题出在什么地方呢?找来找去最后定位到是环境变量的问题,查看系统变量中的Path,发现里面缺少了%SystemRoot%\system32;%SystemRoot%,于是果断加上,再次执行mvn命令,发现那句话已经不见啦!
3.修改Maven仓库下载镜像及修改仓库位置
第一次以Maven的方式搭建Java项目时,下载所需的jar包足足用去四五个小时。假如搭建的大型项目开发框架时,这样的下载jar包速度是远远不行的,下载慢的原因是服务器在国外,要翻墙才能下载,大约速度在0.9K/s的下载速度,有些程序员知道翻墙解决,那么不知道的怎么办?所以我们安装好Maven时,要及时的修改Maven下载的镜像地址,最好改为国内的下载镜像,例如阿里云中央仓库,华为云中央仓库。
3.1.修改仓库下载镜像地址
Maven安装目录➡conf文件➡settings.xml用记事本打开
CTRL+F快速查找输入mirrors标签
将里面的内容进行删除,替换成阿里云镜像
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
3.2.修改默认Maven的仓库位置
Maven安装目录➡conf文件➡settings.xml用记事本打开
CTRL+F快速查找输入localRepository标签
复制上面的地址进行修改
更改成自己存放文件夹路径(文件夹名称可随意,斜杆必须转成反斜杠)
<localRepository>E:/apache-maven-3.5.0-bin/mvn_Repository</localRepository>
例子:E盘下apache-maven-3.5.0-bin文件夹下mvn_Repository为我的maven仓库
完成以上两步后,再次搭建Maven项目,下载一个大型项目的jar大约10S左右,开发体验度瞬间飙升。
三、eclipse配置Maven
打开我们的eclipse开发工具,点击菜单栏window➡preferences➡Maven➡Installations
勾选引用然后点击User Settings
选择Global Settings或者User Settings都没关系,然后填入settings.xml的路径即可,到这里Maven就配置完成了。
四、eclipse部署Maven项目
CTRL+N输入Maven选择Maven Project
第一次新建Maven项目比较慢,因为要下很多东西,这时候发现我们的仓库就有“东西”了。
注意事项:
1.目录结构不全
建立完成后我们的项目是会报错的,因为在eclipse我们的Maven项目的目录结构还不全面。
右击报错的项目Build Path➡Configure Build Path
2.寻找相关依赖
因为Maven项目不支持JSP依赖所以手动去仓库寻找依赖加入到项目中
Maven中央仓库地址
https://mvnrepository.com/
![]()
CTRL+S保存下载完毕后就已经有了我们的JSP依赖
3.项目依赖冲突
有的时候些项目不知道为什么无缘无故报错,排除所有问题后无果,那么就有可能是版本依赖的问题找到项目中的POM.XML➡右击Run As➡Maven test进行测试
如果显示如下图那么就没有问题
如果是报红的就有可能是最新添加的依赖有问题(PS:受到网络影响没有下全),无需多言将最新添加的依赖进行删除重新下载即可。
4.JSP版本问题
我们下载的是3.1的版本但是它默认是2.3的版本需要进行替换
<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_3_1.xsd" version="3.1">
修改web.xml由2.3至3.1
右击报错的项目Properties➡Maven➡Project Facets
注意:先取消勾选下拉修改成对应版本后Apply应用后再进行勾选
将maven-compiler-plugin插件配置到POM.XML文件中
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
最后测试一波
恭喜你看到这里就已经完成啦!!
到这里我的分享就结束了,欢迎到评论区探讨交流!!
如果觉得有用的话还请点个赞吧 ♥ ♥