maven安装及其相关操作

## Maven能解决什么问题(官方): 

项目会遇到什么事情?
1,构建:编译代码,运行测试,打包,部署应用,运行服务器等一系列过程称之为构建;
2,依赖:项目依赖大量的第三方包,第三方包又依赖另外的包;对依赖包的管理非常麻烦;

Maven能做什么事情?

1,Maven翻译为“知识的积累”,“专家”,“行家”,是一个跨平台的项目管理工具;
2,Maven主要用作基于Java平台的项目(Maven本身也是Java编写的)的构建、依赖包管理和项目信息管理;
3,Maven能提供一种项目的配置,配置好的项目,只需要运行一条简单的命令,就能完成重复的,繁琐的构建动作;
4,Maven能提供一种项目的依赖配置,配置好的项目,Maven能自动的从Maven的中央仓库中帮我们下载并管理项目依赖的jar包,
并且还能自动的管理这些jar包依赖的其他jar包;
5,Maven提供了一种标准的项目目录结构,测试命名规则等项目的最佳实践方案,统一了不同项目的学习成本(约定大于配置);

## 为什么用Maven(通俗)? ##

IDE/Eclipse:

1,手工操作较多,编译、测试、部署等工作都是独立的,很难一步完成
2,每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错
3,每个项目的依赖包必须自己维护了管理

## 安装Maven并了解maven结构 ##

安装Maven的前置工作:

1,安装并正确配置了JAVA_HOME(因为Maven要帮我们构建项目,可能会用到比较底层的Java功能,所以JAVA_HOME要配置到JDK目录上);
2,安装maven......

MAVEN_HOME=Maven安装根目录
PATH=%MAVEN_HOME%in
检查Maven
在控制台窗口:mvn -version

Maven的结构:

bin:包含了Maven的运行脚本文件;
boot:Maven的依赖的类加载器;
conf:非常重要,Maven的全局配置文件(settings.xml),定制Maven的运行行为
lib:Maven依赖的jar包(里面的maven-model-builder-3.2.5.jar重要,后面再介绍)


##maven项目的helloworld

D:mvn>mvn archetype:generate 使用maven生成项目
D:mvn>mvn package 打包项目为jar
D:mvnmaven01>java -cp targetmaven01-1.0-SNAPSHOT.jar com.qyxy.App 测试App类
Hello World!

.m2文件夹

运行一个maven命令:mvn help:system,观察maven的执行动作;
在用户的个人文件夹下,生成一个.m2文件夹,文件夹里面有一个repository文件夹,里面是刚下载的jar文件;

最佳实践:

1,将maven的conf/settings.xml拷贝到.m2中;作为个人MAVEN配置文件;
2,重新定位repository目录地址:<localRepository>配置;

## MyEclipse的Maven插件 ##

## MyEclipse中创建一个maven项目 ##

maven配置文件pom.xml解释: (项目对象模型)

1,modelVersion:指明MAVEN模型版本,必须是4.0.0,不需要修改;

2,groupId*:组id,一般就是公司名称,并且对应项目包名称(比如,com.qyxy.maven,groupID一般到项目)

3,artifactId:定义当前Maven项目在组中的唯一ID(一般这个ID指向当前项目模块的名字),注意,这个地方的理解,在一个项目中,其实可以有非常多的POM.xml,
每一个POM.xml所在的文件夹都可以叫做一个Maven项目,虽然可能只是项目中的某一个模块(最典型的比如Spring),模块名称;

4,version:定义当前Maven项目的版本号;

5,name:项目的更直白的名称,可以不用写;

6,dependencies:定义项目的依赖

## Myeclipse中使用maven的一些常用命令

1. 只打jar包: mvn jar:jar
2. 打包:mvn package
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 在本地Repository中安装jar:mvn install
7. 清除产生的项目:mvn clean

原文地址:https://www.cnblogs.com/hua-show/p/7272116.html