【Maven01】Maven到底是什么?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lnazj/article/details/81612596

一:没有Maven之前我们是如何管理项目依赖的?

如果项目A需要用到项目B的类中的方法,这时候该怎么做?我们会将B打成jar包,然后在项目A中引入B的jar包,如果A依赖与B项目,同时还需要把B依赖的jar包找出来,再手动导入,超级繁琐。

这样做几种缺陷:
1.如果在开发过程中,发现B中的bug,则必须将B项目修改好,并重新将B打包并对A项目进行重编译操作。
2.在完成A项目的开发后,为了保证A的正常运行,就需要依赖B(就像在使用某个jar包时必须依赖另外一个jar一样),两种解决方案,第一种,选择将B打包入A中,第二种,将B也发布出去,等别人需要用A时,告诉开发者,想要用A就必须在导入Bjar包。两个都很麻烦,前者可能造成资源的浪费(比如,开发者可能正在开发依赖B的其它项目,B已经存储到本地了,在导入A的jar包的话,就有了两个B的jar),后者是我们常遇到的,找各种jar包,非常麻烦(有了maven就不一样了)

二.什么是Maven项目?

Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。通俗地讲,maven就是管理项目jar包之间互相依赖的工具,就是通过pom.xml文件的配置获取jar包而不用手动去添加jar包。
如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。

那么,问题来了!!!
1,在此之前我们就必须了解如何创建maven项目,maven项目的结构是怎样,与普通java,web项目的区别在哪里,还有如何配置pom.xml获取到对应的jar包等等,这里提前了解一下我们如何通过pom.xml文件获取到想要的jar的,具体后面会详细讲解该配置文件。

三.如何创建Maven项目?maven项目的结构是怎样,与普通java,web项目的区别在哪里?

(1)使用命令创建

mvn archetype:generate -DgroupId=com.wuhao.maven.quickstart -DartifactId=simple -DarchetypeArtifactId=maven-arche

mvn:核心命令
archetype:create:创建项目,
-DgroupId=com.wuhao.maven.quickstart :创建该maven项目时的groupId是什么。一般使用包名的写法。因为包名是用公司的域名的反写,独一无二
-DartifactId=simple:创建该maven项目时的artifactId是什么,就是项目名称
-DarchetypeArtifactId=maven-archetype-quickstart:表示创建的是[maven]java项目
            
(2)在eclipse或IDEA开发工具中创建

创建完java项目的文件夹目录结构如下:
simple
            —pom.xml    核心配置,项目根下
            —src
             —main      
                —java    java源码目录
               —resources  java配置文件目录
             —test
               —java    测试源码目录
               —resources  测试配置目录
               
maven项目比普通的项目多了一个pom.xml文件.

(3)命令操作maven java或web项目
编译:mvn compile  –src/main/java目录java源码编译生成class (target目录下)
 
测试:mvn test    –src/test/java 目录编译
清理:mvn clean    –删除target目录,也就是将class文件等删除
打包:mvn package  –生成压缩文件:java项目#jar包;web项目#war包,也是放在target目录下
安装:mvn install   –将压缩文件(jar或者war)上传到本地仓库
部署|发布:mvn deploy  –将压缩文件上传私服

使用 mvn install,在本地仓库会有该项目的jar包
这里写图片描述

四.我们是如何通过pom.xml文件获取到想要的jar的?

首先说一下仓库的概念:
仓库分为本地仓库和远程仓库,远程仓库分为私服和中央仓库

本地仓库,在maven/settings.xml配置文件中设置:以后我们下载的jar包都会存放在这里.
这里写图片描述

私服:第三方仓库,如果我们从中央仓库下载,速度会很慢,并且如果外网不可访问的话,项目开发机会是不可能进行的,这时候就需要公司内部自己搭建一个仓库,用来当做中央仓库的镜像的,

中央仓库:http://repo1.maven.org/maven2,国外的一个仓库,这里几乎涵盖了我们需要的所有的jar 包,插件等

jar包获取的过程:
先从本地,本地仓库没有,则从私服上下载,私服上也没有的话,则私服会从中央仓库下载进行保存,然后我们再从私服上下载.
这里写图片描述

上面说过定位一个jar包的三个属性,groupId,artifactId,version,所以就可以下载相应的jar包。

五.如何搭建Maven 镜像仓库?私服如何搭建?

https://jingyan.baidu.com/article/49ad8bceafbf6e5834d8fa8d.html

猜你喜欢

转载自blog.csdn.net/lnazj/article/details/81612596