Maven

Maven是一个项目管理工具,用于简化Java项目开发和依赖管理。它通过配置本地和远程仓库,统一管理jar包,避免版本冲突。Maven简化了项目的构建、测试、打包和部署流程,提高了开发效率。在Eclipse中配置Maven涉及设置仓库位置、JDK版本,以及将Maven集成到IDE中。此外,Maven的目录结构和依赖管理是其核心特性,通过POM.xml文件管理jar包,确保项目构建的一致性。
摘要由CSDN通过智能技术生成

1.Maven介绍

1.1 Maven是什么

在这里插入图片描述
Maven:翻译为"专家"、“内行”,是Apache下的一个纯java开发的一个开源项目
Maven是一个项目管理工具,使用Maven可以来管理企业级的Java项目开发及依赖的管理
使用Maven开发,可以简化项目配置,统一项目结构。总之,Maven可以让开发者的工作变得更简单
什么是依赖管理?要明白依赖管理,首先要知道什么是依赖?
一个Java项目中往往会依赖一些第三方的jar包。比如JDBC程序中要依赖数据库驱动包,或者在使用c3p0连接池时,要依赖c3p0的jar包等。这时我们称这些Java项目依赖第三方jar包
而所谓的依赖管理,其实就是对项目中所有依赖的jar包进行规范化管理

1.2 为什么要使用Maven

传统的项目(工程)中管理项目所依赖的jar包完全靠人工进行管理,而人工管理jar包可能会产生诸多问题

1.2.1 不使用Maven,采用传统方式管理jar包的弊端

(1)在一些大型项目中会使用一些框架,比如SSM或者SSH框架,而框架中所包含的jar包非常多(甚至还依赖其他第三方的jar包),如果这些jar包我们手动去网上寻找,有些jar包不容易找到,比较麻烦
(2)传统方式会将jar包添加到工程中,比如Java工程中将jar包放在工程根目录或者放在自建的lib目录下;JavaWeb工程会将jar包放在:/WEB-INF/lib目录下,这样会导致项目文件的体积暴增(例如,有些项目代码本身体积可能仅仅几兆,而加入jar包后,工程的体积可能会达到几十兆甚至百兆)
(3)在传统的Java项目中是将所有的jar包统一拷贝的同一目录中,可能会存在jar包文件名称冲突的问题
(4)在进行项目整合时,可能会出现jar包版本冲突的问题
(5)在传统java项目中通过编译(手动编译或者在eclipse保存自动编译)、测试(手动在main函数中测试、junit单元测试)、打包部署(手动打war包/手动发布)、运行(手动启动tomcat运行),最终访问程序

1.2.2 使用Maven来管理jar包的优势

(1)Maven团队维护了一个非常全的Maven仓库(中央仓库),其中几乎包含了所有的jar包,使用Maven创建的工程可以自动到Maven仓库中下载jar包,方便且不易出错
另外,在Maven构建的项目中,如果要使用到一些框架,我们只需要引入框架的核心jar包,框架所依赖的其他第三方jar包,Maven也会一并去下载
(2)在Maven构建的项目中,不会将项目所依赖的jar包拷贝到每一个项目中,而是将jar包统一放在仓库中管理,在项目中只需要引入jar包的位置(坐标)即可。这样实现了jar包的复用
(3)Maven采用坐标来管理仓库中的jar包,其中的目录结构为【公司名称+项目/产品名称+版本号】,可以根据坐标定位到具体的jar包。即使使用不同公司中同名的jar包,坐标不同(目录结构不同),文件名也不会冲突
(4)Maven构建的项目中,通过pom文件对项目中所依赖的jar包及版本进行统一管理,可避免版本冲突
(5)在Maven项目中,通过一个命令或者一键就可以实现项目的编译(mvn complie)、测试(mvn test)、打包部署(mvn deploy)、运行(mvn install)等
还有发布到tomcat服务器中运行: mvn tomcat7:run。如果想实现上面的所有过程,只需要记住一个命令:mvn install
总之,使用Maven遵循规范开发有利于提高大型团队的开发效率,降低项目的维护成本,大公司都会优先使用Maven来构建项目

2.Maven安装

2.1 下载、安装Maven

1、官方下载地址:http://maven.apache.org/download.cgi
在这里插入图片描述
2、下载绿色版,解压之后就可以使用
在这里插入图片描述
在这里插入图片描述
原则:安装的路径中最好不要有中文和空格!!
3、若要下载旧版本Maven,可以访问:
https://archive.apache.org/dist/maven/maven-3/
在这里插入图片描述
在这里插入图片描述

3.Maven的相关配置

在开发中更多是通过Eclipse+Maven来构建Maven项目,所以这里我们需要将Maven配置到Eclipse开发工具中
在将安装好的Maven工具配置的Eclipse开发工具中之前,需要做一些相关的配置

3.1 配置本地仓库位置

本地仓库:其实就是本地硬盘上的某一目录,该目录中会包含maven项目中所需要的所有jar包及插件。当所需jar包在本地仓库没有时,从网络上下载下来的jar包也会存放在本地仓库中
因此本地仓库其实就是一个存放jar包的目录,我们可以指定Maven仓库的位置
如果不指定,maven本地仓库的默认位置是在c盘,在:

C:/Users/{当前用户}/.m2/repository

例如:
在这里插入图片描述
可以保持默认,当然也可以修改本地仓库的位置到别的盘符路径
修改方法:找到[MAVEN_HOME]/conf/目录中的配置文件settings.xml,修改maven仓库的路径
在这里插入图片描述配置该目录后,以后通过maven下载的jar包将会保存在配置的目录下
以上内容可以总结为:

  1. 什么是本地仓库?
  2. 本地仓库的默认位置在哪儿?
  3. 配置和不配置本地仓库有什么区别?

3.2 配置远程仓库(私服)

当maven项目中需要依赖jar包时,如果本地仓库中没有,就会到远程仓库去下载jar包
如果不配置远程仓库,默认连接的是中央仓库,由于中央仓库面向的是全球用户,所以在下载jar包时,速度可能会比较慢,效率会比较低
可以在settings.xml文件中配置连接达内远程仓库(前提是在达内教室,连接的是达内内网)或者连接阿里云远程仓库(需要有外网)
1、如果连接的是达内内网,可以连接达内远程仓库(如果不配置,默认连接中央仓库,没有外网,连接不了中央仓库,会导致jar包无法下载)
需要做的是,在settings.xml文件中的<settings>标签下的<mirrors>标签内部添加如下配置,配置达内远程仓库:

<mirror>
		<id>nexus-tedu</id>
		<name>Nexus tedu</name>
		<mirrirOf>central</mirrorOf>
		
		<url>http://maven.tedu.cn/nexus/content/groups/public/</url>
</mirror>

2、如果在家里、在公司连接的是外网,是无法连接达内的远程仓库,可以选择什么都不配置,默认连接中央仓库,或者可以配置连接阿里云远程仓库(不要使用手机热点网络连接),配置如下:
配置阿里云远程仓库:

<mirror>
		<id>aliyun</id>
		<name>aliyun for maven</name>
		<mirrorOf>*</mirrirOf>
	
		<url>https://maven.aliyun.com/repository/public</url>
</mirror>

远程仓库配置总结:

  1. 当所需jar包在本地仓库没有时,会从网络上下载。配置远程仓库其实就是配置,去网络中哪个位置下载jar包到本地
  2. 如果在公司,并且公司有搭建镜像服务器,推荐使用公司的镜像服务器下载jar包,速度会更快。(如果在达内,使用的是内网,只能配置达内的远程仓库。否则,没有外网也连接不了中央仓库,下载jar包会失败!)
  3. 如果在家里,使用的是外网,可以不配置远程仓库,默认连接中央仓库下载jar包,或者配置阿里云的远程仓库。连接阿里云服务器下载jar包。(注意,如果配置阿里云镜像服务器,不可使用手机热点网络!

3.3 配置JDK版本

通过 Maven创建的工程,JDK版本默认是JDK1.5,每次都需要手动改为更高的版本
这里可以通过修改maven的settings.xml文件, 达到一劳永逸的效果
配置方式为:打开 {maven根目录}/conf/settings.xml 文件并编辑,在 settings.xml文件内部的 <profiles> 标签内部添加如下配置:

<profile&g
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值