maven基础学习(一)
来源:互联网 发布:淘宝客有权重吗 编辑:程序博客网 时间:2024/05/24 06:32
用了一年的maven构建项目,但是对其强大的功能知之甚少,所以从今天起开始系统整理一下关于maven的资料.
1.maven的简单介绍:
maven是一个跨平台的项目管理工具,主要服务于基于java平台的项目构建,依赖管理,和项目信息管理等.
maven还为全世界的Java开发者提供了一个免费的中央仓库,在中央仓库里几乎可以找到任何的流行开源类库.
只要定位了坐标,maven就能够帮我们自动下载我们需要的类库.
2.maven的安装.
a.安装maven之前首先要确保安装了jdk,可以通过在cmd窗口执行echo %JAVA_HOME%指令,javac指令和java指令验证.
b.配置maven环境变量MAVEN_HOME:E:\Maven\apache-maven-3.1.0,同时找到一个名为Path的环境变量在变量值得末尾加上"%MAVEN_HOME%\bin;".
这里需要说明一下的是Path环境变量,当我们在cmd窗口中输入命令时,Windows首先会在当前目录中寻找可执行文件或脚本,如果没有找到,
Windows会接着遍历环境变量Path中定义的路径,由于我们将%MAVEN_HOME%\bin添加到了Path中,而这里%MAVEN_HOME%实际上是引用了我们
前面定义的MAVEN_HOME环境变量,其值是Maven的安装目录.因此,Windows会在执行命令时搜索此目录,而mvn执行脚本的位置就是这里.
最后,配置完上面的环境变量后,打开一个新的cmd窗口,通过执行echo %MAVEN_HOME%指令和mvn -version指令验证环境变量是否配置成功.
echo %MAVEN_HOME%命令用来检查环境变量MAVEN_HOME是否指向了正确的Maven安装目录,而mvn –version指令用来检查Windows是否能够找到
正确的mvn执行脚本。
注意:在linux系统上安装maven的过程这里先不做介绍.
3.maven安装目录分析.
a.bin目录:该目录包含了mvn运行的脚本,其中mvn是基于UNIX平台的shell脚本,mvn.bat是基于Windows平台的bat脚本,
在cmd命令窗口中输入任何一条mvn命令时,实际上就是在调用这些脚本.
b.lib目录:该目录包含了所有maven运行时需要的Java类库,maven本身是分模块开发的,因此用户能看到诸如mavn-core-3.0.jar、
maven-model-3.0.jar之类的文件,此外这里还包含一些Maven用到的第三方依赖如common-cli-1.2.jar、google-collection-1.0.jar等.
可以说这个lib目录就是真正的maven.
c.conf目录:该目录包含了一个非常重要的文件settings.xml.直接修改该文件,就能在机器上全局地定制Maven的行为.
d.Boot:该目录只包含一个文件,以maven 3.0为例,该文件为plexus-classworlds-2.2.3.jar.plexus-classworlds是一个类加载器框架,
相对于默认的java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架加载自己的类库.
4.maven本地仓库的创建.
在cmd窗口执行mvn help:system命令,会发现在C:\Users\Ilucky_Si目录下多了一个.m2文件,
运行这条命令的目的是为了让maven执行一个任务,从命令行输出看到maven会下载maven-help-plugin,
包括pom文件和jar文件.这些文件都被下载到了Maven本地仓库C:\Users\Ilucky_Si\.m2中.
5.设置HTTP代理.
有时候由于安全因素考虑,要求你使用通过安全认证的代理访问因特网.这种情况下,就需要为Maven配置HTTP代理,才能让它正常访问外部仓库,
以下载所需要的资源.首先确认是否可以直接访问公共的Maven中央仓库,通过运行命令ping repo1.maven.org可以检查网络,如果需要代理,
先检查一下代理服务器是否畅通,比如现在有一个IP地址为192.168.67.191,端口为1234的代理服务,我们可以运行telnet 2192.168.67.191
1234来检测该地址的该端口是否畅通.如果没有问题,编辑~/.m2/settings.xml文件(如果没有该文件,则复制$MAVEN_HOME/conf/settings.xml).
添加代理配置如下:
<settings> <proxies><proxy><id>my-proxy</id><active>true</active><protocol>http</protocol><host>192.168.67.191</host><port>1234</port></proxy></proxies></settings>
这段配置十分简单,proxies下可以有多个proxy元素,如果你声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效.这里声明了一个id为my-proxy的代理,active的值为true表示激活该代理,protocol表示使用的代理协议,这里是http.当然,最重要的是指定正确的主机名(host元素)和端口(port元素). - maven基础学习(一)
- Maven学习(一):maven基础
- maven学习一:maven基础介绍
- Maven基础学习(一)—Maven入门
- Maven基础学习(一)—Maven入门
- (转)Maven项目基础学习(一)
- maven学习(一)
- Maven学习(一)
- maven学习(一)
- maven 学习(一)
- maven学习(一)
- Maven学习(一)
- maven 学习(一)
- maven基础点(一)
- Maven学习笔记(一)什么是Maven?
- Maven 学习总结(一)------Maven入门
- Maven学习(一)搭建Maven环境
- Maven 学习(一)搭建maven环境
- 10个精妙的Java编码最佳实践
- ZOJ3235 Prototype(数学)
- tcpdump
- 【USACO1.1_1】★Your Ride Is Here 你要乘坐的飞碟在这里
- 每一位Android开发者应该知道的Android体系架构和开发库
- maven基础学习(一)
- objc.io 第9期之字符串渲染
- ID生成策略
- struts2拦截器实现权限控制
- android反编译相关
- c# 获取鼠标处窗口句柄,程序嵌入桌面
- 关于“战神杯”线上编程大赛彩色石子一题的思路与解法
- C#中dataGridView用法实例分析
- 【USACO1.1_2】★Greedy Gift Givers 贪婪的礼物送礼者