一.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 任务时,才会自动下载需要的插件。
3,镜像
mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。
此时,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
目前的最新版本为apache-maven-3.8.4-bin.tar.gz
如果你使用的idea2019的版本可以使用最新版本
如果你使用的idea是2018版本是最高只能使用apache-maven-3.6.1-bin.tar.gz 的版本
2,解压及文件说明
bin --- mvn maven的命令
boot maven启动相关的文件
conf 配置文件 setting.xml 主要的配置文件
lib maven运行时需要的包
3,配置maven的环境变量并测试
测试 mvn -version
4,配置置maven
找到settings.xml文件
在settings.xml文件中配置本地仓库
<!--配置本地仓库地址-->
<localRepository>D:\Software installation\maven\Repository</localRepository>
配置中央仓库的镜像仓库
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
配置maven默认使用的jdk版本
<profile>
<id>jdk1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
5,idea里面配置maven 插件
三.idea创建maven项目
1.maven的java项目
到此,maven的java项目就创建完成了
2.maven的web项目
在main下面创建java包
启动项目
先要配置tomcat
使用插件启动【推荐】
<!--配置插件-->
<plugins>
<plugin>
<!--maven的tomcat插件 -->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<uriEncoding>UTF-8</uriEncoding> <!--解决页面提交数据乱码问题 -->
<port>8080</port><!-- tomcat插件的请求端口 -->
<path>/maven</path><!-- 项目的请求路径 -->
</configuration>
</plugin>
</plugins>
因为请求路径已经改变了
maven的三种工程pom、jar、war的区别
maven中的三种工程:
1.pom工程:用在父级工程或聚合工程中。用来做jar包的版本控制。
2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。
3.jar工程:将会打包成jar用作jar包使用。