管理规模庞大的jar包,脱离IDE环境执行的构建操作。
随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用jar包也越来越多,项目中,一个模块里面用到上百个jar包是非常正常的。
这个jar包所属技术的官网,通常是英文界面,网页的结构又不尽相同,甚至找到下载链接发现还需要通过特殊的工具下载。
第三方网站下载。问题是不规范,在使用过程中会出现各种问题。
jar包的名称,版本,内部的具体细节。
而使用Maven后,依赖对应的jar包能够自动下载,方便快捷又规范。
框架中使用的jar包,不仅数量庞大,而且彼此之间存在着错综复杂的依赖关系。依赖关系的复杂程度,已经上升到了完全不能靠人力手动解决的程度。另外,jar包之间有可能产生冲突。进一步增加了我们在jar包使用过程中的难度。
你可以不使用Maven,但构建是必须要做的,当我们使用IDEA进行开发时,构建是IDEA替我们做的。(本地开发)
Maven是Apache软件基金会组织维护的一款专门为Java项目提供构建和依赖管理支持的工具。
Java项目开发过程中,构建指的是使用原材料生产产品的过程。
原材料:Java源代码,基于HTML的Thymeleaf文件,图片,配置文件.......
产品:一个可以在服务器上运行的项目
构建过程包含的主要的环节
清理:删除上一次构建的结果,为下一次构建做好准备。
编译:Java源程序编译成*.class字节码文件
测试:运行提前准备好的测试程序
报告:针对刚才测试的结果生成一个全面的信息
打包:Java工程(jar包),web工程(war包)
安装:把一个Maven工程经过打包操作生成的jar包或war包安装到Maven仓库
部署:把准备好的jar包或war包部署到服务器上运行
如果A工程中用到了B工程的类,接口,配置文件等这样的资源,那么我们就可以说A依赖B例如:
依赖管理中要解决的具体问题:
jar包的下载:使用Maven后,jar包会从规范的远程仓库下载到本地。
jar包之间的依赖:通过依赖的传递性自动完成
jar包之间的冲突:通过对依赖的配置进行调整,让某些jar包不会被导入
Maven官网下载 maven.apache.org
download
将其解压到非中文,没有空格的目录中
注意下载版本需要与idea兼容 如:idea2021.2.2 兼容maven3.8.1及以下版本/(ㄒoㄒ)/~~
在config->settings.xml中查看默认目录,在c盘下,影响系统运行速度
将localRepository标签拿出注释
当maven运行时会自动创建。
将原来的例子注释掉,并加入自己的配置
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
JDK-1.8
true
1.8
1.8
1.8
1.8
Maven是一个用java语言开发的程序,它必须基于JDK来运行,需要通过JAVA_HOME来找到当前JDK安装位置。确保JDK安装正常。
配置MAVEN_HOME(和JAVA_HOME类似)
XXX_HOME指向bin目录的上一层
Path指向bin目录
验证配置是否成功