Maven原理及使用

 一.底层原理

1)基本概念

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。(使用Java语言开发)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iUCkZOYO-1622610960633)(RackMultipart20210602-4-1ptwrts_html_dbbe040f008533d0.png)]

角色划分:
本地仓库: 在本机中保存jar包的文件目录
远程仓库:maven官网几乎维护了所有的开源jar包信息.其中解决了版本冲突的问题.
私服镜像:为了让本地用户快速的获取jar包.使用镜像服务器提前下载jar包.速度更快.
maven的工作原理:
1.镜像服务器搭建时,需要定期拉去远程服务器中的jar包.
2.获取到的包.保存到镜像服务器本地.方便用户以后获取.
3.用户使用jar包时,先检查本地仓库中是否有包,如果没有 则连接私服镜像获取jar包. 如果有,则直接使用.
4.将jar包保存到本地之后,供用户使用.

2)maven坐标

maven的坐标:

组id  一般采用公司域名倒写的方式

项目名  项目名称必须唯一

版本号  指定项目的版本的

作用: 查找本地仓库中的对应jar包 

maven的坐标意义:

1.maven中央仓库采用坐标的形式管理所有的jar包.
2.可以根据坐标的位置,唯一定位jar包.
3.可以根据坐标.依赖其它项目

Maven原理及使用_第1张图片

maven jar包搜索地址:https://mvnrepository.com/ 

Maven原理及使用_第2张图片

3)jar包依赖传递性原理

maven工具通过dependency标签和坐标查找指定的jar包文件.
根据坐标查找包
maven加载完成jar包之后,扫描当前文件的 xxxx.pom文件.

之后根据该坐标继续添加jar包依赖项. 直到将所有的依赖信息加载完成为止

Maven原理及使用_第3张图片

 4) Pom.xml配置信息的说明



    4.0.0
    
    com.taobao
    spring_demo1
    0.0.1-SNAPSHOT
    spring_demo1
    spring_demo1


     
    
        1.8
        UTF-8
        UTF-8
        
        2.3.7.RELEASE
    
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        

        
        

        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.4.3
        

        
        
            mysql
            mysql-connector-java
        

        
        
            org.projectlombok
            lombok
        
    


    
        
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
        
    


    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    1.8
                    1.8
                    UTF-8
                
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.7.RELEASE
                
                    
                    com.taobao.JtApplication
                
                
                    
                        repackage
                        
                            repackage
                        
                    
                
            
        
    

还可以将settings.xml文件复制到该目录下:

Maven原理及使用_第4张图片

5) 常见命令

Maven原理及使用_第5张图片

clean: 清空项目中的target目录(class文件)

compile 使用maven工具进行编译 将xxx.java生成xxx.class

test 测试

site 站点文档

package 打包jar、war

deploy 部署到私服

install 将java项目打包为xxx.jar,存在本地仓库

run 运行

 二.Maven的使用

1)下载地址

https://maven.apache.org/download.cgi

Maven原理及使用_第6张图片

2)配置镜像/本地仓库

解压即可使用,打开解压文件夹中的conf中的settings.xml,在设置中配置镜像(配置一个即可)/本地仓库,如下:


/path/to/local/repo





		
	        nexus-aliyun
	        *
	        Nexus aliyun
	        http://maven.aliyun.com/nexus/content/groups/public
	 	


		
	        nexus-aliyun
	        *
	        Nexus aliyun
	        https://maven.aliyun.com/repository/public
	 	


        
		    huaweicloud
		    *
		    https://mirrors.huaweicloud.com/repository/maven/
		

3)idea整合Maven

最好准备一个jar包文件放入本地库中,如果网络不好,很容易jar包下载失败,一路飘红!!!!

Maven原理及使用_第7张图片

 idea整合Maven只需一次,每次创建Maven项目时不需要再整合Maven,步骤如下:
Maven原理及使用_第8张图片

Maven原理及使用_第9张图片

4)创建SpringBoot工程

创建每个Maven工程都需要idea中配置Maven
一般不会单独创建Maven工程,而是创建SpringBoot工程
URL地址: https://start.aliyun.comMaven原理及使用_第10张图片

Maven原理及使用_第11张图片

Maven原理及使用_第12张图片

三.Maven常见报错

1)版本兼容性问题

IDEA的版本,不要太低.至少2020以上, 兼容 maven 3.8.x

2)网络问题下载jar包失败

现象如下:
Maven原理及使用_第13张图片
方案①先将maven本地仓库清空,再重新加载reload

Maven原理及使用_第14张图片

方案②如果jar包下载完整,还是飘红可以选择重启idea看看

Maven原理及使用_第15张图片

 Maven原理及使用_第16张图片

3)jar包下载不完整,处理方案

常见异常的说明: 有时maven jar包下载不正常.但是maven的工具以为是正确的.导致jar包的导入报错!!! 如果遇到这样的报错信息.,则将jar包删除即可.
然后刷新mavenMaven原理及使用_第17张图片

 Maven原理及使用_第18张图片

 可以根据坐标查找到对应的jar包,将下载不完整的jar包删除,再次重新下载即可

4)有时IDEA 不能正确的识别maven项目

需要自己手动的添加该项目

Maven原理及使用_第19张图片

最终效果:
Maven原理及使用_第20张图片

5) Maven解压路径问题

①Maven解压路径不能和其他路径耦合
②Maven路径不能出现特殊符号,不然会出现各种各样的异常(Maven是Java语言开发的)

你可能感兴趣的:(maven,java,开发语言,后端)