欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

什么是maven,maven解决什么问题

程序员文章站 2022-04-15 17:57:14
asdsad...
 什么是maven?下面是我认知的理解。
  是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个*信息片断能管理一个项目的构建、报告和文档等步骤。这是一个比较官方的理解。
  当然,我的理解maven是一个依赖管理工具。如果一个项目是maven项目,它会自动去找它到的依赖,并下载到本地,然后自动引用到项目里去,就不用考虑依赖的jar包和版本问题。一个简单的列子:我们现在在使用spring 3.3这个jar包,而这个jar包依赖apache-comons 2.0这个jar包,而apache-comons 2.0依赖javasist 1.5,那么你就不需要自己去找下面这些依赖的jar包,maven会自动去寻找且下载,然后引用到项目。
  maven还可以说是一个构建工具,简而言之从源码到成品的整个过程。这个工具可以定制一套标准的格式,这套格式可以拿来构建。构建的简易过程就是从java源码编译为class文件,然后打成jar包。如果是要打成war包,先把java编译成class文件,放置到一个专门放java的目录,根据场景需求,所有的静态资源一般放置某个目录,如果有jsp,先把jsp编译成servlet,然后在编译成class;在挪至某个位置,然后打包成war包。这就是构建的简易过程。这就是maven的构建。
接下来就是构建的生命周期,步骤:验证>初始化>生成源码>处理源码>生成资源>处理资源>编译>处理类>生成测试源码>处理测试源码>生成测试资源>处理测试资源>测试编译>处理测试代码>测试>打包前准备>打包>前集成测试>集成测试>后集成测试>检验>安装>部署。这是构建的完整步骤。简而言之:默认的生命周期:检验>初始化>编译>测试>打包>集成测试>安装>部署。
什么是坐标?在maven中,它可以定位。在一个maven项目中。有一个文件叫pm.xml,而这个文件有这样几个标签,groupId,artifactId,version,这就是坐标。packaging设置打包的类型。name设置项目名。url官方网站。properties项目的属性。在这对项目属性标签中写项目属性,project.build.sourceEncoding设置项目构建时的字符编码集。dependencies依赖。dependency单元测试工具包。
  一个maven项目,它的目录结构都有一个约定,每位码农都会遵守这个约定。
  └─src                      源码
		  ├─main                 主要的内容
	 		    |     |   ├─java              java源码
			     |    │    	└─com            
			    │    │    		 └─woniuxy
			    │    │         			 └─build  包名
			    │    └─resources         资源: 配置文件
			    └─test                 测试相关
			        └─java
			            └─com
			                └─woniuxy
			                    └─build
			pom.xml
		这就是一个遵守约定的maven项目的约定。
		maven都有一个仓库。本地仓库(local)->私服镜像(aliyun)->*仓库central
		下面是maven的安装步骤:	
		1:下载maven。
		2:解压至一个位置。
		3:配置maven的环境变量
			M2_HOME
			bin:   %M2_HOME%\bin
		4:测试maven是否成功,在cmd中输入命令:mav  -v。
		5:修改配置:
			 <localRepository>D:\UserData\repo</localRepository>
			 <mirrors>...<mirror>    <id>alimaven</id>    <name>aliyun 		maven</name>    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>    <mirrorOf>central</mirrorOf>        </mirror></mirrors>
		6:简单使用:
			 	mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.woniuxy.build -DartifactId=demo,生成一个java se项目
		7:在pom.xml的目录下运行项目
				 mvn clean compile exec:java 				  -Dexec.mainClass="com.woniuxy.build.App" 
		 8:打包
			    mvn package
			 当然,这里只是作者小白对maven毛皮的认知。 

本文地址:https://blog.csdn.net/xinbimaye/article/details/107883227

相关标签: java maven