Maven教程1(介绍安装和配置)
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(介绍安装和配置)的更多相关文章
- Maven的下载,安装,配置,测试,初识
1:Maven官网:http://maven.apache.org/ Maven远程仓库:http://search.maven.org/ 2:Maven是一个采用纯Java编写的开源项目管理工具,M ...
- Maven的下载,安装,配置,测试,初识以及Maven私服
:Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf:含有settings.xml配置文件 lib:含有Maven运行时所需要的 ...
- Maven实战02_Maven的安装和配置
1:在Windows上安装Maven 本人系统环境:win10 + JDK1.8 + apache-maven-3.3.9 在安装Maven之前,首先要确定你的Java环境是否已经配置好了,你是否已 ...
- 转 --maven系列之二 安装与配置
http://blog.csdn.net/jiuqiyuliang/article/details/45390313 [项目管理和构建]——Maven下载.安装和配置(二) 标签: 工具开发maven ...
- Maven(一) Maven3 的安装与配置
Maven的安装以及环境变量的配置: a).在安装maven之前,先确保已经安装JDK1.7及以上版本,并且配置好JDK的环境变量. b).下载maven3,下载地址:http://maven.apa ...
- 有手就行3——持续集成环境—maven、tomcat、安装和配置
有手就行3--持续集成环境-maven.tomcat.安装 持续集成环境(5)-Maven安装和配置 持续集成环境(6)-Tomcat安装和配置 持续集成环境(5)-Maven安装和配置 在Jenki ...
- Maven教程(1)--maven的下载、安装与配置
Maven下载 下载地址:http://maven.apache.org/download.cgi 下载后,解压得到 Maven目录分析: bin文件夹:含有mvn运行的脚本 boot文件夹:含有pl ...
- MyCat教程三:安装及配置介绍
一.安装MyCat 1.安装准备环境 1.1 安装JDK 因为MyCat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的. 1.2 放开相关端口 在主从节点上 ...
- IntelliJ IDEA使用教程一 介绍&安装&配置
http://blog.csdn.net/nextyu/article/details/47206015 全套
随机推荐
- java 多线程 同步 观察者 并发集合的一个例子
//第一版 package com.hra.riskprice; import com.hra.riskprice.SysEnum.Factor_Type; import org.springfram ...
- AX_InventCounting
static void Job649(Args _args) { ItemId ItemId = "000XA00612R1& ...
- 【转】权限管理学习 一、ASP.NET Forms身份认证
[转]权限管理学习 一.ASP.NET Forms身份认证 说明:本文示例使用的VS2017和MVC5. 系统无论大小.牛逼或屌丝,一般都离不开注册.登录.那么接下来我们就来分析下用户身份认证. 简单 ...
- tf-slim-mnist
谷歌开放TF-Slim:在TensorFlow中定义复杂模型的高层库 使用 TF-Slim 的 GitHbu 代码: README:https://github.com/tensorflow/mode ...
- 团队-爬取豆瓣电影TOP250-代码设计规范
队长博客:http://www.cnblogs.com/gengwenhao/
- C#Dictionary源码
Dictionary Dictionary与hashtable的区别:dictionary支持泛型. 通常处理哈希冲突的方法有:开放地址法,再哈希法,链地址法,建立一个公共栈区等. 在哈希表上进行查 ...
- Linux 第六天
1)locate 在文件资料库中查找文件(需要文件资料库中有,新建的文件查不到,需要手动更新,updatedb.查不到/tmp目录下的文件) 语法:locate 文件名 常用选项: -i:无视大小写查 ...
- 学以致用二十三-----shell脚本里调用脚本
当前脚本可以调用其他目录下的脚本,并可以直接使用其他脚本里的函数. 首先查看脚本目录 执行net_set.sh,同时执行colos.sh 并可直接使用 color.sh中的函数 net_set.sh ...
- sax 动态切换 抓取感兴趣的内容(把element当做documnet 处理)
由switch 类触发事件 import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.hel ...
- Scala数组小结
1.定长数组 定长数组:指长度不可变的数组Array. 第一种方式: 先声明一个数组,后初始化该数组: scala> val array = new Array[Double](5) array ...