maven如何下载和安装,Maven详解
【项⽬管理和构建】——Maven下载、安装和配置(⼆)
blog.csdn 2015年05⽉01⽇ 14:22
在上篇博⽂【项⽬管理和构建】——Maven简介(⼀)中我们了解到maven是⼀种全新的项⽬构建⽅式,让我们的开发更加简单,⾼效。Maven主要做的是两件事:
统⼀开发规范与⼯具
统⼀管理jar包
这两件事情他都做到了,⽽且还做了更多的事情。Maven还可以管理项⽬的整个声明周期,包括编译,构建,测试,发布,报告等等。⽬前Apache下绝⼤多数项⽬都已经采⽤Maven进⾏管理。⽽Maven本⾝还⽀持多种插件,可以⽅便更灵活的控制项⽬。
⼯欲善其事,必先利其器。咱们也来玩玩 Maven 这货吧!先得去下载⼀个。
java开发环境(JDK)
maven下载地址:/release-notes-all.html
安装maven超级简单,总共分四步:
下载 Maven ,其实就是⼀个压缩包,解压⼀下
这⾥写图⽚描述
配置⼀下环境变量
有两个环境变量可以配置:
MAVEN_HOME = D:\maven\apache-maven-3.2.3
MAVEN_OPTS = -Xms128m -Xmx512m(可选)
在path变量末尾加⼊“%MAVEN_HOME%\bin;”。jdk怎么使用
以上M2_HOME 是必须要配置的,如果想让 Maven 跑得更快点,可以根据⾃⼰的情况来设置 MAVEN_OPTS。
这⾥写图⽚描述
最后,验证是否安装成功
现在我们打开 cmd,输⼊:
mvn -v
我想您⼀定会看到⼀些信息,如下图所⽰:
这⾥写图⽚描述
恭喜您,Maven 安装成功!
在使⽤ Maven 之前,我们必须要了解⼀下 Maven 到底是怎样管理 jar 包的,这就是 Maven 仓库要⼲的活了。
使⽤ Maven 给我们带来的最直接的好处,就是统⼀管理jar 包,那么这些 jar 包存放在哪⾥呢?它们就在您的本地仓库中,默认地址位于C:\Users\⽤户名.m2 ⽬录下(当然也可以修改这个默认地址),下⾯我们就修改⼀下这个默认地址。
实际上我们可以将本地仓库理解“缓存”,⽬的是存放jar包。开发项⽬时项⽬⾸先会从本地仓库中获取 j
ar 包,当⽆法获取指定 jar 包的时候,本地仓库会从远程仓库(或中央仓库)中下载 jar 包,并“缓存”到本地仓库中以备将来使⽤。
远程仓库(中央仓库)是 Maven 官⽅提供的,可通过 / 来访问。这样⼀来,本地仓库会随着项⽬的积累越来越⼤。通过下⾯这张图可以清晰地表达项⽬、本地仓库、远程仓库之间的关系。
这⾥写图⽚描述
既然 Maven 安装了,那么本地仓库也就有了,默认路径在我们C盘⽬录下,对于专业⼈⼠来说C盘很危险,下⾯我们修改⼀下默认配置。Maven会将下载的类库(jar包)放置到本地的⼀个⽬录下,如果想重新定义这个⽬录的位置就需要修改Maven本地仓库的配置:
修改⽂件:D:\maven\apache-maven-3.2.3\l
依据该配置,Maven就会将下载的类库保存到D:\maven\repository中。
实验⼀下我们刚才做的事情产⽣作⽤没有,控制台输⼊:
mvn help:system
如图所⽰效果:
这⾥写图⽚描述
如果没有任何问题,执⾏完该命令之后,在D:\maven\repository下⾯就会多出很多⽂件,这些⽂件就是maven从中央仓库下载到本地仓库的⽂件,maven已经开始为我们⼯作了。
这么好的项⽬管理⼯具还在等什么,赶紧安装试⼀下吧。
下篇博⽂我们配置⼀下Eclipse,将它和maven结合,并且创建⼀个简单maven项⽬,马上送到。
Maven详解
wwwblogs 2016-05-03 21:18
⼀.前⾔
以前做过的项⽬中,没有真正的使⽤过Maven,只知道其名声很⼤,其作⽤是⽤来管理jar 包的。最近⼀段时间在项⽬过程中使⽤Maven,⽤Maven构建的web项⽬,其项⽬结构只停留在了解阶段,没有深⼊的使⽤与理解,刚好最近看了⼀篇关于Maven的详解;就开始深⼊学习⼀下Maven的具体应⽤。
⼆.Maven的作⽤
下⾯我们来对⽐⼀下,⾸先建⽴⼀个普通的Java⼯程,是这样的:
这个我们都很熟悉,src下建包写代码,那么配置⽂件放在哪⾥?单元测试代码放在哪⾥?没有⼀个统⼀标准,更多时候都是开发者的⾃由发挥,每个⼈有⾃⼰的风格,这并不⼗分适合团队协作。接下来,看⼀下使⽤maven构建⼀个普通Java项⽬之后的⽬录结构:
看到使⽤Maven构建的普通Java项⽬,对源代码、单元测试代码、资源乃⾄后续需要的⽂件都有专门的⽬录规划。
上⾯的最后有⼀个l,这是Maven的核⼼配置⽂件,pom称为Project Object Model(项⽬对象模型),它⽤于描述整个Maven项⽬,所以也称为Maven描述⽂件。
当然事情不会这么简单,接下来,继续进⼊Maven的世界吧。
打开l,最基础的是这样的:
<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId&q.withmaven</groupId> <artifactId>withmaven</artifactId> <version>0.0.1-SNAPSHOT</version> <build/> </project>
因为这个配置⽂件是Maven的核⼼,因此有必要详细解读⼀下l,来先看⼀下上⾯的⼏个:
1、modelVersio
指定了当前Maven模型的版本号,对于Maven2和Maven3来说,它只能是4.0.0
2、groupId
顾名思义,这个应该是公司名或是组织名。⼀般来说groupId是由三个部分组成,每个部分之间以"."分隔,第⼀部分是项⽬⽤途,⽐如⽤于商业的就是"com",⽤于⾮营利性组织的就  是"org";第⼆部分是公司名,⽐如"tengxun"、"baidu"、"alibaba";第三部分是你的项⽬名3、artifactId
可以认为是Maven构建的项⽬名,⽐如你的项⽬中有⼦项⽬,就可以使⽤"项⽬名-⼦项⽬名"的命名⽅式
4、versio
版本号,SNAPSHOT意为快照,说明该项⽬还在开发中,是不稳定的版本。在Maven中很重要的⼀点是,groupId、artifactId、version三个元素⽣成了⼀个Maven项⽬的基本坐标,这⾮常重要,我在使⽤和研究Maven的时候多次感受到了这点。
在上⾯的这些元素之外,还有⼀些元素,同样罗列⼀下:
1、packing
项⽬打包的类型,可以使jar、war、rar、ear、pom,默认是jar
2、dependencies和dependency
前者包含后者。前⾯说了,Maven的⼀个重要作⽤就是统⼀管理jar包,为了⼀个项⽬可以build或运⾏,项⽬中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency。
说到这⾥,就有⼀个本地仓库和远程仓库的概念了。官⽅下载的本地仓库的配置在"%MAVEN_HOME%\l"⾥⾯,⼀下"localRepository"就可以了;MyEclipse默认的本地仓库的地址在"{user.home}/.m2/repository"路径下,同样⼀下"localRepository"就可以到MyEclipse默认的本地仓库了。
本地仓库和远程仓库是这样的,Maven⼯程⾸先会从本地仓库中获取jar包,当⽆法获取指定jar包时,本地仓库会从远程仓库(中央仓库)中下载jar包,并放⼊本地仓库以备将来使⽤。
举个例⼦,⽐⽅说我的项⽬中⽤到了MyBatis,那么可以这么配置:
<dependencies> <dependency> <groupId&batis</groupId> <artifactId>mybatis</artifactId> <version>3.2.5</version> </dependency> </dependencies>
之前有说过groupId、artifactId、version唯⼀标识⼀个Maven项⽬,有了这三个元素,我们就可以去远程仓库下载MyBatis3.2.5.jar到本地仓库了。回想我们之前的做法,如果要MyBatis的jar包,发现没有,然后去⽹上下载⼀个,需要另外的jar包,然后去⽹上下载⼀个,但是有了Maven,就⽅便多了,只需要配置jar包对应的dependency依赖,Maven会⾃动帮助我们去远程仓库中下载jar包到本地仓库中。
3、propertie
roperties是⽤来定义⼀些配置属性的,例如project.build.sourceEncoding(项⽬构建源码编码⽅式),可以设置为UTF-8,防⽌中⽂乱码,也可定义相关构建版本号,便于⽇后统⼀升级。
4、build
uild表⽰与构建相关的配置,⽐如build下有finalName,表⽰的就是最终构建之后的名称。
接着解释⼀下Maven的⽬录结构:
三.Maven环境配置
常⽤的开发⼯具Idea、MyEclipse⾥⾯都已经集成了Maven了,不过最好是从官⽹下⼀个配置到⾃⼰电脑⾥,开发⼯具⾥的可能有少许的Bug。
⾸先去Maven官⽹,下载Maven的包,地址为/i,到下⾯的部分,点击就可以下载了:
下载完解压,然后配置⼀下环境变量,和JDK的环境变量配置类似:
这样配置完就可以了,验证⼀下,windows+r打开命令窗⼝,输⼊"mvn --version",如果有下⾯的内容这表⽰Maven配置OK:
Maven⼊门使⽤常见问题
1、我从SVN上下载了⼀个以Maven构建的⼯程,下载完毕没有jar包怎么办?
从资源库上下载下来的Maven⼯程,是没有jar包的,此时可以这么做:
(1)删除Maven⼯程,但是删除的时候不要删除本地⼯程⾥⾯的Maven⼯程,只删除MyEclipse中的Maven⼯程
(2)右键Import->Maven4MyEclipse->Existing Maven Projects,导⼊你的Maven⼯程,此时MyEclipse在构建⼯程的时候,假如你的本地
仓库中没有dependcy中的jar包,便会去远程仓库下载jar包到本地仓库中。你的⼯程导⼊完毕之后,Library应该是这样的:
2、重新下载Maven⼯程所依赖的jar包、导⼊jar包都需要触发Maven⼯程的build workspace,那么如何才能触发Maven⼯程的build workspace?
到⼀个l,随便修改⼀下,加⼀个空格、减⼀个空格什么的,ctrl+s保存⼀下,便会触发Maven⼯程的build workspace了
3、本地仓库的⽬录结构是什么样⼦的?
groupId、artifactId、version确定⼀个唯⼀的Maven,⽐⽅说我有⼀个mybatis的dependcy:
<dependency> <groupId&batis</groupId> <artifactId>mybatis</artifactId> <version>3.2.5</version> </dependency>
那么mybatis的jar包应该在%Maven仓库地址%\org\mybatis\mybatis\3.2.5\这⼀路径下,看到了吧,先groupId,再mybatis,最后version,每个名字都是⼀个⽂件夹的名字
4、有些jar包在dependcy⾥⾯有配置,Import了Maven⼯程,下载完⼯程所依赖的jar包之后,发现本地仓库⾥⾯却没有,怎么办?
可能是原先下载jar包的时候出了什么问题,从artifactId⽬录开始删除以下的所有⽂件/⽂件夹,然后触发⼀次Maven⼯程的build workspace 就可以了
5、本地仓库中确定已经有jar包了,⼯程⾥⾯却报错,说不到jar包,该怎么办?
应该有很多解决办法,⽬前解决的⼀种办法是,MyEclipse->Window->Preferences->搜索Maven->User Settings,Update Settings和Reindex 点⼀下就好了。另外,可以尝试⼀下把本地Maven仓库内的jar包删除⼀下,然后重新build workspace,可能也可以。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。