官网地址:http://maven.apache.org/

1、Maven介绍

1.1为什么需要使用Maven

之前学Spring和SpringMVC的时候我们需要单独自己去找相关的jar.
这些jar包我们还能通过官网能找到,但是比如我们要找JSTL或者hibernate验证jar及依赖包的时候我们并不是很容易的找的。所以我们希望有种更加方便管理我们jar的工具,maven刚好能帮我们解决这个问题。

1.2Maven是什么?

官方的解释:
Maven是一个项目管理工具,它包含了一个项
目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project
Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在
生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你
用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,
这些逻辑来自一组共享的(或者自定义的)插件。

  • Maven两大核心:
  • 依赖管理:就是对jar包的统一管理
  • 构建项目:项目编码完成后,对项目的编译,测试,打包,部署等操作

初学的时候对maven的概念比较模糊,仅仅知道它可以管理我们的jar包和jar之间的依赖关系,但它的功能并不仅仅局限于此。我们通过安装使用管理来体验吧。

2、Maven安装

注:本文在windows环境安装

2.1安装前提

因为Maven是java项目,所以必须先安装jdk。

2.2官网下载安装文件

下载地址:http://maven.apache.org/download.cgi

2.3解压安装到非中文路径中

2.4配置环境变量

2.4.1首先jdk环境变量必须配置

JAVA_HOME环境变量必须要配置

2.4.2配置MAVEN_HOME

到maven解压目录的bin目录的上级

2.4.3Path变量后追加MAVEN_HOME

2.5验证

3、Maven配置

3.1仓库类型介绍

仓库类型 说明
本地仓库 程序员自己电脑上的仓库
私服仓库 局域网中的仓库
速度比中央仓库要快
中央仓库 在互联网中,由Apache团队维护,
包含了基本所有的jar包
版权原因不包含Oracle的驱动包

jar包查找的顺序:

graph LR
A[Maven项目] -- 查找 --> B((本地仓库))
B -- 优先 --> C(私服仓库)
B --没有安装私服--> D((中央仓库))
C --中央仓库--> D

中央仓库地址

3.2本地仓库配置

指定maven的本地仓库地址
比如:C:\tools\maven-repository
那么我们需要在maven的安装路径下的conf文件夹中的setting.xml中设置。

4.常用命令

常用命令 说明
clean:
清理
mvn clean 清理掉原来已经编译好的文件
compile:
编译
将Java编译成Class文件
test:
单元测试
单元测试目录下的所有的类都会执行类名
必须是xxxTest结尾
package:
打包
项目不同会打成对应的包
install:
安装
多个项目共用一个jar包

4.1通过命令构建项目:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

项目的目录结构:

就默认生成了一个App.java文件,输出一个HelloWorld

POM文件说明

在创建的项目的跟目录下面有一个pom.xml文件,文件pom.xml里有它的项目对象模型 (POM)。这个文件描述了这个项目,配置了插件,声明了依赖

4.2构建一个简单项目

将我们刚刚创建的简单项目打成jar包,只需要在pom.xml所在的路径下执行 :mvn install 命令即可

执行程序:

Maven教程1(介绍安装和配置)的更多相关文章

  1. Maven的下载,安装,配置,测试,初识

    1:Maven官网:http://maven.apache.org/ Maven远程仓库:http://search.maven.org/ 2:Maven是一个采用纯Java编写的开源项目管理工具,M ...

  2. Maven的下载,安装,配置,测试,初识以及Maven私服

    :Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf:含有settings.xml配置文件 lib:含有Maven运行时所需要的 ...

  3. Maven实战02_Maven的安装和配置

    1:在Windows上安装Maven 本人系统环境:win10  + JDK1.8 + apache-maven-3.3.9 在安装Maven之前,首先要确定你的Java环境是否已经配置好了,你是否已 ...

  4. 转 --maven系列之二 安装与配置

    http://blog.csdn.net/jiuqiyuliang/article/details/45390313 [项目管理和构建]——Maven下载.安装和配置(二) 标签: 工具开发maven ...

  5. Maven(一) Maven3 的安装与配置

    Maven的安装以及环境变量的配置: a).在安装maven之前,先确保已经安装JDK1.7及以上版本,并且配置好JDK的环境变量. b).下载maven3,下载地址:http://maven.apa ...

  6. 有手就行3——持续集成环境—maven、tomcat、安装和配置

    有手就行3--持续集成环境-maven.tomcat.安装 持续集成环境(5)-Maven安装和配置 持续集成环境(6)-Tomcat安装和配置 持续集成环境(5)-Maven安装和配置 在Jenki ...

  7. Maven教程(1)--maven的下载、安装与配置

    Maven下载 下载地址:http://maven.apache.org/download.cgi 下载后,解压得到 Maven目录分析: bin文件夹:含有mvn运行的脚本 boot文件夹:含有pl ...

  8. MyCat教程三:安装及配置介绍

    一.安装MyCat 1.安装准备环境 1.1 安装JDK   因为MyCat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的. 1.2 放开相关端口   在主从节点上 ...

  9. IntelliJ IDEA使用教程一 介绍&安装&配置

    http://blog.csdn.net/nextyu/article/details/47206015 全套

随机推荐

  1. Log4j 日志组件

    官网:https://logging.apache.org/log4j/2.x/ 使用 Log4j 的步骤: 第一步 引入 Log4j 的 jar 包 1. 直接下载 log4j-x.x.x.jar ...

  2. 20170805_Elasticsearch_简介和安装

    官网地址: https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.html Elk 是一个可高 ...

  3. django学习第一天

    class ModelAdmin(BaseModelAdmin): """Encapsulate all admin options and functionality ...

  4. hadoop 有那些发行版本

    hadoop发行版本 1. apache hadoop  http://hadoop.apache.org/ 2. cloudera hadoop(CDH) https://www.cloudera. ...

  5. ABP框架系列之二十九:(Hangfire-Integration-延迟集成)

    Introduction Hangfire is a compherensive background job manager. You can integrate ASP.NET Boilerpla ...

  6. save to project-level dictionary? save to application-level dictionary?

    通过静态代码分析工具lint在Spelling typo得到save to project-level dictionary? save to application-level dictionary ...

  7. TensorFlow --playground游乐场

    TensorFlow游乐场官网http://playground.tensorflow.org(国内需要梯子才能访问) 游乐场的神经网络结构有三层,第一层为输入层,输入的是特征向量(描述问题特征的向量 ...

  8. 第一个Python小爬虫

    这个爬虫是参考http://python.jobbole.com/81353/这篇文章写的 这篇文章可能年代过于久远,所以有些代码会报错,然后我自己稍微修改了一下,增加了一个getContentAll ...

  9. 轮播图js编写

    //面向对象 function Left() { this.index = 0; this.lefthover = $('#left-content'); this.listenhover(); th ...

  10. SQL Server 最大并行度

    一.概念 1.关联掩码(affinitymask) 为了执行多任务,MicrosoftWindows2000和WindowsServer2003有时会在不同的处理器之间移动进程线程.虽然从操作系统方面 ...