Maven是一个项目管理和整合的工具,主要服务于基于Java平台的项目构建n为开发者提供了一套完整的构建生命周期框架。
一、Maven下载安装与配置
1、下载与安装
http://maven.apache.org/download.cgi
根据本地操作系统类型选择对应的安装包
比如,我在Windows下安装了 Maven3.2.1
2、配置环境变量
“我的电脑”或“计算机”à属性à高级选项->环境变量
新建系统变量MAVEN_HOME变量值为:Maven安装根目录
修改Path变量在最后加上;号并追加Maven配置
如:%MAVEN_HOME%\bin;
检查maven环境变量是否配置好,使用命令:mvn -version
二、修改Maven配置文件
Maven安装目录下/conf/settings.xml,将maven库修改为本地目录
或用户目录C:\Users\username\.m2\ settings.xml
1、指定本地Maven库位置
如:<localRepository>D:\mvn_work</localRepository>
指定本地Maven库位置在D盘mvn_work(自定义)
2、指定JDK版本
三、创建Maven私服仓库仓库有以下几种:本地仓库:当Maven执行编译或测试时,如果需要使用到依赖文件,它总是使用本地仓库的依赖文件。远程仓库:安装好Maven后,如果不执行任何Maven命令,本地仓库的目录是不存在的。当用户输入第一条Maven命令后,Maven才会创建本地仓库,然后根据配置和需要从远程仓库下载依赖的构建到本地仓库。中央仓库:由于最原始的本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能在执行Maven命令时下载到需要的构建。中央仓库就是一个默认的远程仓库,Maven的安装文件默认自带了中央仓库的配置。私服仓库:私服是一个特殊的远程仓库,是设在局域网内的仓库服务。其代理远程仓库,供局域网内Maven用户使用。这里采用Nexus创建Maven私服1、Nexus下载下载地址:http://www.sonatype.org/nexus/go可根据系统类型选择相应的安装包2、Nexus启动与运行 如下载的是zip包,解压后进入\nexus-2.1.2-bundle\nexus-2.1.2\bin\jsw\,根据系统类型选择文件夹,进入后可看到如下所示bat文件
双击console-nexus.bat运行nexus,访问访问http://127.0.0.1:8081/nexus/ 点击右上角链接登录, 默认用户名密码为admin/admin123
Nexus仓库
nexus的仓库类型有, group(仓库组), hosted(宿主), proxy(代理)、 virtual(虚拟)
首次登陆nexus后可以看到以下一个仓库组和多个仓库 ,概念介绍下
PublicRepositories: 仓库组
3rd party:第三方发布版本的构件仓库
Apache Snapshots: 用了代理Apache Maven仓库快照版本的构件仓库,如项目库
Central: 中央仓用来代理maven中央仓库中发布版本构件的仓库
Central M1 shadow: 提供中央仓库中M1格式的发布版本的构件镜像仓库
Codehaus Snapshots: 代理Codehaus Maven 仓库的快照版本构件的仓库
Releases: 部署管理内部的发布版本构件的宿主类型仓库
Snapshots: 部署管理内部的快照版本构件的宿主类型仓库
3、配置nexus
开启远程索引,新搭建的neuxs环境只是一个空的仓库,需要手动开启远程索引下载, 与远程中心库进行同步(nexus默认是关闭远程索引下载)。点击左边Administration菜单下面的Repositories,找到右边列表中的三个仓库Apache Snapshots,Codehaus Snapshots和Maven Central,在没有仓库的configuration下把Download Remote Indexes修改为true。如下图
在Apache Snapshots,Codehaus Snapshots和Maven Central这三个仓库上分别右键,选择Repari Index,Nexus就会同步下载远程的索引文件, Browse Index选项卡中可以看到结果。另可根据名称去左边菜单栏Artifact Search检索相关构件
建立宿主仓库
新建公司的内部仓库, Repositories –> Add –>Hosted Repository,在页面中输入入Repository ID和Repository Name,比如分别填入test 和 test repostiory,另外把Deployment Policy设置为Allow Redeploy,点击save就创建完成了。
创建Nexus仓库组
Maven没有仓库组的概念(Nexus有),Maven是根据 groupId,artifactId,version等条件检索相应构件。Nexus可以将多个仓库hosted、 proxy合并为一个group,这样Maven就可以只依赖于一个group,来使用group内的内容。 neuxs中自带一个“Public Repositories”组,我们可将之前建立的仓库“test repostiory” 加入。
创建一个Group Name为Public Snapshots Repositories的组,把Apache Snapshots、Codehaus Snapshots、Snapshots和test repostiory加入其中。
创建Nexus代理仓库
点击菜单栏上的Add按钮后选择Proxy Repository
至此,私服完成搭建,开发人员开发时,只要在Maven项目中pom.xml文件配置相应仓库地址与构件信息即可。