喜欢!GitHub项目JavaHouse同步收录1简介在日常Java开发中,Maven应该是必不可少的工具,当然也有人使用Gradle。那么Maven到底是什么?不就是一个依赖引入工具吗?我相信很多人和我有同样的感受。但总的来说,感觉出来的东西往往是靠不住的。在网上搜集了一些资料,翻了翻官网,重新整理了一下Maven的资料。2Maven简介根据维基百科,Maven是一个软件项目管理和自动构建工具。单从字面意思看,不知道这是想表达什么。按照我的理解,Maven其实是一个与IDEA相辅相成的开发工具。当我们每天使用IDEA编译项目时,实际上是在使用Maven,只是这些操作被强大的IDEA隐藏了起来,造成了我们正在使用IDEA,与Maven没有任何联系的错觉。3Maven的命令说命令行之前,先说几个专业术语。名称解释groupId包名artifactId项目名groupId的artifactId称为坐标,的确,一旦确定了它们的值,我们就可以根据它们的坐标找到它们。创建mvn-Barchetype:generate-DarchetypeGroupId=org.apache.maven.archetypes-DgroupId=com.mycompany.app-DartifactId=my-app以便maven自动创建一个带有helloworld的Maven项目。包名是com.mycompany.app;项目名称是我的应用程序。看到这里,我们就知道为什么Maven是一个项目构建工具了。个人认为Maven类似于前端大佬npm工具。编译mvncompile这条命令从字面上看就是编译命令。它是否编译测试文件夹中的源代码?执行此命令将生成一个目标文件。文件夹里面是编译后的内容。Clearmvnclean该命令主要是清除编译后生成的目标文件夹。打包mvnpackage这个命令会默认将项目打包成jar包,当然我们也可以打包成war包。安装mvninstall这个命令可以把工程打成jar放到本地仓库。4仓库要理解Maven,仓库的概念是必不可少的。让我(灵魂画家)画一幅画。项目需要的依赖都是从本地仓库获取的。本地仓库就是你自己的电脑。我们引入的各种依赖都放在本地仓库中。一般如果依赖有问题,说明本地仓库没有依赖。我们可以先删除对应的本地依赖,再试试,说不定就ok了。从中可以看出,自建仓库,也就是我们所说的私服,可以存放我们开发的一些基础包。从自建仓库导入依赖更快。当然,如果自建仓库中没有我们需要的依赖,自建仓库要建一个仓库,就会发送一个请求,请求一个远程中央仓库。如果没有中央仓库,就真的什么都没有了。5POM现在是我们的重要任务——POM。Maven项目将有一个pom.xml文件。这是一个最小的pom文件。这个pom文件我们应该不陌生,import依赖就是从这里导入的。没什么好说的,说点别的吧。Packagetype//war
