首页 > 其他 > 详细

Maven

时间:2022-05-27 22:32:51      阅读:4      评论:0      收藏:0      [点我收藏+]

存在的问题

1.一个项目就是一个工程

如果项目非常庞大,就不适合继续使用package来划分模块。最好是每一个模块对应一个工程,利于分工协作
借助与Maven就可以将一个项目拆分成多个工程

2.项目中需要的jar包必须手动复制、粘贴到WEB——INF/lib目录下

同样的jar包文件重复出现在不同的项目工程中,一方面浪费存储空间,另外也让工程比较臃肿
借助Maven,可以将jar包仅仅保存在‘仓库’中,有需要使用的工程“引用”这个文件接口,并不需要真的把jar包复制过来

jar包需要别人替我们准备好,或到官网下载

不同技术的官网提供jar包下载的形式是五花八门的
有些技术的官网就是通过Maven或SVN等专门的工具来提供下载的
如果是以不规范的方式下载的jar包,那么其中的内容很可能也是不规范的
借助于Maven可以以一种规范的方式下载jar包,因为所有知名框架或第三方工具的jar包已经按照统一的规范存放在了Maven的中央仓库中

一个jar包依赖的其他jar包需要自己手动加入到项目中

FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar
如果所有jar包之间的依赖都需要程序员自己非常清楚的了解,那么就会极大的增加学习成本
Maven会自动将被依赖的jar包导入进来

需要改进项目的开发和管理,需要Maven
1.maven可以管理jar文件
2.自动下载jar和他的文档,源代码
3.管理jar直接的依赖,a.jar需要b.jar,maven会自动下载b.jar
4.管理你需要的jar的版本
5.帮你编译程序,把java编译为class
6.帮你测试你的代码是否正确
7.帮你打包文件,形成jar文件,或者是war文件
8.帮你部署项目

构建(项目的构建)

构建是面向过程的,就是一些步骤,完成项目代码的编译,测试,运行,打包,部署等
Maven支持的构建:
	1.清理:把之前项目编译的东西删除掉,为新编译的代码做准备
	2.编译:java - class文件(批量的,maven可以同时把成百上千个文件编译为class)
	3.测试:maven可移植性测试程序代码,验证你的功能是否正确
			批量的,maven同时执行多个代码测试,同时测试很多功能
	4.报告:生成测试结果的文件,测试是否通过
	5.打包:把你的项目中所有的class文件,配置文件等所有资源放到一个压缩文件中
			这个压缩文件就是项目的结果文件,通常java程序,压缩文件是jar扩展名
			对于web应用,压缩文件扩展名是.war
	6.安装:把生成的文件jar,war安装到本机仓库
	7.部署:把程序安装好可以执行

Maven核心概念

POM:
	一个文件 名称是pom.xml,pom翻译过来叫做项目对象模型
	maven把一个项目当做一个模型使用,控制maven构建项目的过程,管理jar依赖

约定目录结构: 
	maven项目的目录和文件的位置都是规定的
	
坐标:
	是一个唯一的字符串,用来表示资源的

依赖管理:
	管理你的项目可以使用jar文件

仓库管理:
	你的资源存放位置

生命周期:
	maven工具的构建项目的过程,就是生命周期

插件和目标:
	执行maven构建的时候用的工具是插件

继承

聚合

Maven工具的安装和配置

1.需要从maven的官网下载maven的安装包 apache-maven-3.8.2-bin.zip
2.解压安装包,解压到一个目录,非中文目录
	子目录 bin :执行程序,主要是mvn.cmd
		  conf:maven工具本身的配置文件 settings.xml
3.配置环境变量
  在系统的环境变量中,指定一个M2_HOME的名称,指定他的值是maven工具安装目录,bin之前的目录
  
  M2_HOME = D:\软件\Maven\apache-maven-3.8.2;(这是我的路径)
  
  再把M2_HOME加入到path之中,在所有路径之前加入%M2_HOME%\bin;

4.验证,新的命令行中,执行mvn -v

注意:需要配置JAVA_HOME,指定jdk路径

出现以下内容,maven安装配置正确
	Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Maven home: D:\软件\Maven\apache-maven-3.8.2
Java version: 1.8.0_291, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_291\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

约定

maven约定的目录结构

约定是大家都遵循的一个规则

每一个maven项目在磁盘中都是一个文件夹(项目-Hello)
Hello/
	---/src
	------/main			#放你的主程序java代码和配置文件
	----------/java		#你的程序包和包中的java文件
	---------/resources #你的java程序中要使用的配置文件

	------/test	#放你的测试代码和文件(可以没有)
	----------/java		#测试程序包和包中的java文件
	---------/resources #测试java程序中要使用的配置文件
	---/pom.xml  #maven的核心文件(maven项目必须有)

Maven

原文:https://www.cnblogs.com/cedric1114/p/15338405.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!