Maven学习

一.maven概述

1,定义 

1,Maven 作为 Apache 的一个开源项目,旨在给项目管理提供更多的支持,它最早的意图只是为了给 apache 组织的几个项目提供统一的开发、测试、打包和部署,能让开发者在多个项目中方便的切换。

2,Maven 中最值得称赞的地方就是使用了标准的目录结构和部署。

3,在多个开发团队环境的情况下,Maven可以设置标准。由于大部分的项目设置简单可重复使用,使使Maven开发容易,创建报告,检查,生产和测试完全自动化设置。

4,maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。

5,maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。

2,基本原理

Maven 的基本原理很简单,采用远程仓库和本地仓库以及一个类似 build.xml 的 pom.xml ,将 pom.xml 中定义的 jar 文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的 jar ,同一个版本的 jar 只需下载一次,而且避免每个应用都去拷贝 jar 。

同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以 maven 下载很小,在执行 maven 任务时,才会自动下载需要的插件。

Maven学习_第1张图片

3,镜像

mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。

Maven学习_第2张图片 此时,B Repository被称为A Repository的镜像。如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都能够从它的镜像中获取。

< mirrors/>是镜像列表,是maven从远程仓库里下载构件的一组服务器镜像。镜像能减轻中央maven库的负载,也能突破代理等的网络环境的限制,每个仓库都有一个ID,而mirror需要和仓库的ID对应。

4,坐标

作用:  找到某一个固定的点

Maven 找到一个固定的jar包

(1)定义

坐标用来标识时空中的某个点,方便人们找到位置,如中电信息大厦可以用经纬度坐标找到,也可以通过国家、省市区、街道、门牌组成的坐标去找。

(2)分类【一定要有的】

groupId: 组织ID,一般是公司、团体名称

artifactId:实际项目的ID,一般是项目、模块名称

version:版本,开发中的版本一般打上 SNAPSHOT 标记

二.idea集成maven插件

1,下载maven服务器

下载地址Maven – Download Apache Maven

Maven学习_第3张图片 目前的最新版本为apache-maven-3.8.4-bin.tar.gz

如果你使用的idea2019的版本可以使用最新版本

如果你使用的idea是2018版本是最高只能使用apache-maven-3.6.1-bin.tar.gz 的版本

 2,解压及文件说明

Maven学习_第4张图片

bin  ---   mvn   maven的命令

boot   maven启动相关的文件

conf  配置文件   setting.xml 主要的配置文件

lib   maven运行时需要的包

3,配置maven的环境变量并测试

Maven学习_第5张图片

Maven学习_第6张图片 测试  mvn -version

Maven学习_第7张图片

4,配置置maven

找到settings.xml文件

Maven学习_第8张图片

 在settings.xml文件中配置本地仓库

Maven学习_第9张图片

 
  D:\Software installation\maven\Repository

 配置中央仓库的镜像仓库

Maven学习_第10张图片

  
	  alimaven  
	  aliyun maven  
	  http://maven.aliyun.com/nexus/content/groups/public/  
	  central          
	 

 配置maven默认使用的jdk版本

Maven学习_第11张图片

  
		jdk1.8  
		  
			true  
			1.8  
		  
		  
			1.8  
			1.8  
			1.8  
		  
	

 5,idea里面配置maven 插件

Maven学习_第12张图片

Maven学习_第13张图片

 三.idea创建maven项目

1.maven的java项目

Maven学习_第14张图片

 Maven学习_第15张图片

Maven学习_第16张图片 Maven学习_第17张图片

Maven学习_第18张图片 

Maven学习_第19张图片

 到此,maven的java项目就创建完成了

 2.maven的web项目

Maven学习_第20张图片

Maven学习_第21张图片 

Maven学习_第22张图片 Maven学习_第23张图片 Maven学习_第24张图片

Maven学习_第25张图片

在main下面创建java包 

Maven学习_第26张图片

Maven学习_第27张图片 Maven学习_第28张图片

 启动项目

先要配置tomcat

Maven学习_第29张图片

Maven学习_第30张图片

Maven学习_第31张图片 Maven学习_第32张图片

Maven学习_第33张图片

Maven学习_第34张图片

Maven学习_第35张图片  

 Maven学习_第36张图片Maven学习_第37张图片

 使用插件启动【推荐】

Maven学习_第38张图片

 
    
      
        
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        2.2
        
          UTF-8 
          8080
          /maven
        
      
    

 Maven学习_第39张图片

Maven学习_第40张图片

 因为请求路径已经改变了

Maven学习_第41张图片

 maven的三种工程pom、jar、war的区别

maven中的三种工程:

1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。

2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。

3.jar工程:将会打包成jar用作jar包使用。

 

 

 

 

 

你可能感兴趣的:(maven)