《Maven--搭建开发环境(一)》
《Maven--构建企业级仓库(二)》
《Maven—几个需要补充的问题(三)》
《Maven—生命周期和插件(四)》
《Maven--多模块依赖实例解析(五)》
一、Maven的配置
bin/目录包含了运行Maven的mvn脚本;
boot/目录包含了一个负责创建Maven运行所需要的类装载器的JAR文件 conf/目录包含了一个全局的settings.xml文件,该文件用来自定义你机器上Maven的一些行为。如果你需要自定义Maven,通常的做法是覆写~/.m2目录下的settings.xml文件;
lib/目录包含一些Maven核心的JAR文件;
README.txt包含了一些安装指令;
LICENSE.txt包含了ApacheMaven的软件许可证;
NOTICE.txt包含了一些Maven依赖的类库所需要的通告及权限
二、Maven环境变量的配置
安装好后,接下来就开始创建本地仓库,配置环境变量:
1.创建本地仓库
在Maven安装目录下创建repository文件夹。示例:D:\apache-maven-3.0.4\repository。
说明:仓库路径、仓库目录名称都不做限制,但配置时需予以注意。
2.本地仓库配置
本地仓库就是放在自己电脑上的仓库,下边会进一步讲解。修改conf目录下的settings.xml中仓库路径配置(此处为了简洁,本人直接修改Maven自带的setting文件,其实一般不赞成直接修改此文件,具体详情和上网查,也可留言咨询):
<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ~/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <localRepository>${env.M2_HOME}/repository</localRepository>
3.配置环境变量
4.验证Maven安装
输入mvn -v命令,将会看到类似上图的输出信息。
若报系统找不到 mvn命令,请检查PATH和M2_HOME环境变量是否已经正确设置。
三、Maven远程仓库配置
有人会问,上面不是已经配置本地仓库了吗?为什么还需要配置仓库?其实,那是我们配置本地的仓库,但我们并没有告诉本地仓库应该去哪里下载Jar包,接下来我们配置的仓库一般都不在本机上,也叫远程仓库,让我们慢慢深入。
Maven仓库就是放置JAR文件(WAR,ZIP,POM等)的地方,所有Maven项目可以从同一个Maven仓库中获取(引用)自己所需要的依赖JAR。仓库可分为本地仓库、远程仓库。
1.本地仓库
本地Maven运行环境的仓库,存放本地组件(JAR,WAR,ZIP,POM等文件),本地Maven项目可直接引用本地仓库中的组件:
引用仓库中的jar包:项目的pom.xml中加入依赖项配置
安装jar包到仓库:mvn install:install-file //maven安装jar包的命令
-Dfile=<path-to-file> //参数:jar包路径
-DgroupId=<group-id> //参数:坐标-组ID
-DartifactId=<artifact-id> //参数:坐标-组件ID
-Dversion=<version> //参数:坐标-版本号
-Dpackaging=<packaging> //参数:打包方式
说明:在maven中,每个组件都有唯一的一组坐标,坐标由groupId、artifactId、version、packaging构成。
2.中央(远程)仓库
公共仓库,存放了绝大部分开源的jar文件。此库一般被Maven内置在源码中,默认的库地址为:http://repo1.maven.org/maven2/。maven项目依赖(引用)某个jar文件,首先会搜寻本地仓库,当本地仓库缺少该jar包是,maven会自动访问中央仓库,下载jar包。
3.代理仓库
在企业级Maven开发中,我们通常需要架设一个内部的Maven公共仓库,该仓库代理中央仓库,对项目中所依赖的jar包进行统一的维护和管理。在后面文章会讲解代理仓库。
架设代理仓库:
Nexus 是目前比较流行的Maven仓库管理器,提供了强大的仓库管理功能,构件搜索功能。关于下载安装配置Nexus服务,请看我后续文章。
配置代理仓库:
本地Maven运行环境访问代理仓库需要做如下配置,修改conf目录下的settings.xml,加入如下配置
1.配置镜像(关于镜像请看后续文章)
2.配置代理
3.激活代理
修改上述配置中的相关信息为代理仓库信息即可。
四、插件安装
1.svn插件:Subclipse是一个为 Eclipse IDE 添加 Subversion(一个自由,开源的版本控制系统)支持的项目
svn:http://subclipse.tigris.org/update_1.6.x
2. GEF(GraphicalEditor Framework)是一个图形化编辑框架。Sonatype组织在开发 m2eclipse插件时使用了该框架。
gef插件:http://download.eclipse.org/tools/gef/updates/releases/
若不预先安装GEF插件,在安装m2eclipse插件是会报错。
3.m2eclipse: 这个就是Maven真正的插件了。
m2e:http://download.eclipse.org/technology/m2e/releases (安装出错解决方案)
m2e-extras:http://m2eclipse.sonatype.org/sites/m2e-extras(这个地址2012年还能用,现在居然失效了),费了很大的劲,终于找到了一套还算完整的解决方案,思路是将两个插件分开安装,又找了个新地址,新方式,大家可以尝试下:
1:WTP插件地址:http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/(修改与2013年10月15日)
2: widows-->preferences-->maven-->discovery-->右边的 open catalog-->只勾先extras,将maven,lifercycles这两年勾去掉,方便我们查找。找到m2e-subclipse,然后点击下一步,根据提示安装即可。Maven Integration for Eclipse WTP插件是可以从网上搜索到的,大家可自行搜索查找。(修改与2013年9月14日)
注意:
1)安装m2e之后,用mavencheck out scm 建项目,scm url下拉框为空:那就是subclipse和m2e-extras插件安装有误
2) m2e-extras的某些组件需要授权,在此我们只安装我们需要的开源的组件:
MavenIntegration for Eclipse WTP :使用该模块可以让Eclipse自动读取POM信息并配置WTP(开发J2EEWeb应用程序的工具集)项目。
MavenIntegration for Subclipse :与Subclipse插件集成(需要预先安装Subclipse)。
由于很多人没有安装m2e-extras插件,导致创建maven web项目时,还需要转换,不然tomcat也不能加载。
如果到此时还报错“Cannot complete the install because one or more required items could not be found.
Software being installed: m2e - Maven Integration for Eclipse 1.4.0.20130601-0317 (org.eclipse.m2e.feature.feature.group 1.4.0.20130601-0317)......”。
请安装离线包:离线安装包:http://ishare.iask.sina.com.cn/f/36090147.html。在dropins目录下创建文件夹maven3,把解压出的features目录和plugins目录放到dropins下的maven3里就可以了。
4.开发环境配置
在配置Eclipse中Maven环境,Window--> Preferences :
单击Add...按钮,选择Maven目录,apply保存即可。