1、什么是maven

maven是一款项目管理工具,主要用于项目构建、依赖管理、项目信息管理。

2、maven的相关概念

仓库:存放有一系列的jar包、插件

	分类:本地仓库、远程仓库(中央仓库、私服、其他公共库)

坐标:仓库中的每一个资源都有一个唯一的坐标(定义一个资源)

	groupId:开发组织名称

	artifactId:资源名称

	version:当前使用资源的版本

POM(Project Object Manager):项目管理对象

	pom.xml文件:添加项目所需的依赖、插件

中央仓库地址:mvnrepository.com

3、maven与工具(eclipse)的集成

1)下载maven插件apache-maven-3.6.x以上版本

2)下载jdk1.8并安装配置环境变量

3)解压插件并配置环境变量(JAVA_HOME配置jdk根目录、path加上maven的bin目录、MAVEN_HOME指定maven的根目录)

4)运行切换到插件bin目录下  mvn -v 测试是否成功

5)修改插件中的conf/setting.xml中的创库路径为本地路径

	本地仓库
<localRepository>D:\apache-maven-3.6.3\repo</localRepository>
远程仓库:搜索maven镜像中央库
<mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>public</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    
    <profile>
      <id>jdk-1.8</id>
      <activation>
        <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>
6)下载eclipse集成插件eclipse-maven3-plugin并替换(高版本eclipse可忽略此步骤)

7)下载tomcat7.0+并解压直接使用

8)打开工具eclipse

	设置属性Maven---Installations---add添加创库根目录

		User Settings指定仓库下的settings.xml文件

	设置属性Server---Runtime Environments---add添加Tomcat7.0+服务器并指定运行环境jre7+

	设置属性java--Installed JRES--add添加jdk根目录

9)创建maven项目(java项目/web项目)

10)propertis检查版本信息是否一致,Project Facets中勾上web module并点击下面链接转换为web项目

11)编码

12)如果发现jar包未生效,检查propertis下Deployment Assembly是否有maven引用,没有则add后重新部署运行

4、如何使用maven

创建项目:普通java项目、web项目、POM项目(多模块)

	groupId:当前项目所属组织名称

	artifactId:当前项目或则模块名称

	version:当前项目使用的版本

	packaging:当前项目的打包方式(jar包、war包、pom多模块)

项目结构:

ProjectName

		src

			main——存放所有的后台运行代码

				java——java源码

				resources——所需的配置文件

				webapp——web项目才有此目录

			test——存放所有的测试类代码

				java——测试类

				resources——测试所需的配置文件

		target——存放编译后的文件(class字节码文件、资源文件、jar或则插件)

		pom.xml——引入项目所需的依赖或则插件

maven常用命令:

test:运行测试类

	compile:编译源码

	package:打包

	install:将项目发布到本地仓库中

	clean:清空target目录(编译后的文件、jar包等)

	注意:清空后需要在Project下的clean中清空指定项目