对于maven的认识
关于maven的认识详解
一、关于jar包:
- jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法。
- JAR(Java ARchive)是将一系列文件合并到单个压缩文件里,就象Zip那样。进一步打开,可以看到很多的.class文件,.class文件就是java源码经过编译后的文件。JAR文件是跨平台的
二、关于maven到底是什么?
- Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具

例如:pom.xml获取"junit"的jar包的编写。

为什么通过groupId、artifactId、version三个属性就能定位一个jar包?

三、关于仓库的概念
-
通过pom.xml中的配置,就能够获取到想要的jar包(还没讲解如何配置先需要了解一下仓库的概念),但是这些jar是在哪里呢?就是我们从哪里获取到的这些jar包?答案就是仓库。
* 仓库分为:本地仓库、第三方仓库(私服)、中央仓库
3.1 本地仓库
Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,每个电脑默认的仓库是在 $user.home/.m2/repository下

本机本地仓库`D:\JAVA\apache-maven-3.8.1-bin\apache-maven-3.8.1\LocalRepository` 创建的本地仓库,将网上下载的所有jar包,都丢到该目录下,就可以直接通过maven的pom.xml文件直接拿3.2 第三方仓库

3.3 中央仓库

maven的pom.xml文件引入依赖
-
进入https://mvnrepository.com,查找需要引入的jar包及名称

-
选择合适的版本

-
导入依赖

-
-
总结:获取jar包的过程
 2. 进入[https://mvnrepository.com](),查找需要引入的jar包及名称 
四、关于maven项目的一些认识
4.1 maven java项目结构
maven_java
---pom.xml 核心配置,项目根下
---src
---main
---java java源码目录
---resources java配置文件目录
---test
---java 测试源码目录
---resources 测试配置目录

图中有一个"target"目录,是因为将该java项目进行了编译,src/main/java下的源代码就会编译成.class文件放入target目录中,target就是输出目录。
4.1 maven web项目结构
pom.xml 核心配置
src/main/java java源码
src/main/resources java配置
src/main/webapp myeclipse web项目中 WebRoot目录
|-- WEB-INF
|-- web.xml
src/test 测试
target 输出目录
4.2 maven项目的完整生命周期,当执行生命周期后面命令时,前面步骤的命令自动执行

红色标记字体的意思就是当我们直接使用"mvn install"命令对项目进行上传至本地仓库时,那么前面所有的步骤将会自动执行,比如源代码的编译,打包等等。
五、用IEDA创建maven项目
5.1 "初始化设置" 引入本地"maven":安装路径、配置文件、本地仓库(jar包)


5.2 对项目结构进行设置


5.3 对pom.xml配置文件进行设置

-
5.3.1 对于pom.xml中dependency和plugin的区别:
-
dependency引入的东西是你代码编译/运行时所需要的东西,项目打包后这些东西基本都在。
如:JSON工具包GSON(com.google.code.gson),不仅开发时要用,项目运行时也要用,就需要打包进项目中;
而像 javax.servlet-api 这种由容器实现的接口,运行时调用的是容器的具体实现,开发时它的引入范围应该是编译(provided ),不会被打包进项目。 -
plugin引入的东西,如它的字面意思一样,是插件,作为开发/编译/打包时的一种辅助工具,一般不会打包进项目中。
如:使用 maven-source-plugin 插件将API包的源码一起打包,方便发布至Maven仓库,而这个插件不会在打包后的项目中出现

浙公网安备 33010602011771号