如何nexus maven 使用教程maven连接到nexus私服

使用nexus在局域网内搭建maven私服及idea的使用 - CSDN博客
使用nexus在局域网内搭建maven私服及idea的使用
一 下载安装
地址&/download-oss-sonatype
环境 win32 &选择版本:nexus-2.13.0-01-bundle.tar.zip
官网速度特别慢 &可以在
访问http://localhost:8081/nexus/&启动后如下页面,在右上角有个Log in 的超链接,点击登录
默认的用户名是 admin 密码是 admin123
Public Repositories:& 仓库组
3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库
Central: 用来代理maven中央仓库中发布版本构件的仓库
Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库
二 &IntelliJ IDE使用私服配置
找到maven的安装目录&D:\JetBrains\IntelliJ IDEA 14.1.5\plugins\maven\lib\maven3\conf
修改setting.xml 添加如下:
&/mirrors&
&id&central&/id&
&mirrorOf&*&/mirrorOf&
&name&Central Repository&/name&
&url&http://192.168.1.7:8081/nexus/content/groups/public/&/url&
&/mirrors&
修改 工程设置,一定要把user setting file &钩给勾上 . &OK 工程无需其它配置 就可以使用私服了
三上传构建到私服 &
直接用 &idea &中的 &deploy按钮就可以将 打好的 jar 包或者 war包上传到 私服中 &(install &是将jar包 拷贝到本地仓库)
maven setting.xml 添加如下配置:
&id&nexus-releases&/id&
&username&admin&/username&
&password&admin123&/password&
&id&nexus-snapshots&/id&
&username&admin&/username&
&password&admin123&/password&
&/servers&
工程pom.xml 添加如下配置:
&distributionManagement&
&repository&
&id&nexus-releases&/id&
&name&Nexus Release Repository&/name&
&url&http://192.168.1.7:8081/nexus/content/repositories/releases/&/url&
&/repository&
&snapshotRepository&
&id&nexus-snapshots&/id&
&name&Nexus Snapshot Repository&/name&
&url&http://192.168.1.7:8081/nexus/content/repositories/snapshots/&/url&
&/snapshotRepository&
&/distributionManagement&
本文已收录于以下专栏:
相关文章推荐
nexus中的仓库列表
第一种方式:
  nexus
  nexus Repository
  http://localhost:8081/nexus/content/reposi...
settings.xml
CentOS release 6.6 (Final) , Red Hat 4.4.7-11 , x86_64 GNU
nexus-2.11.2-03-bundle.tar.gz
1 Nexus 
简言之:maven 仓库管理器
这次的配置是在ubuntu:14.04上完成的
step A : 
下载安装 cd /opt/nexus 
wget  http:/...
Maven环境的搭建与idea配置
Maven 下载: http://maven.apache.org/download.cgi
Maven 中央仓库地址:http://search.maven....
1 什么是maven:
大家都认为maven是一个构建工具,是一个ant工具的替代,只适用于基于java语言的工程,但是在maven哲学当中(http://maven.apache.org/back...
1.Installation
Download the lasted version of the JDK from:  ,now is ...
1. 下载Maven
官方地址:http://maven.apache.org/download.cgi解压并新建一个本地仓库文件夹
2.配置本地仓库路径
3.配置maven环境变量
通过Internet直接从Maven公用仓库获取依赖包是默认配置。不过对于中国软件公司来讲,访问这些公用仓库通常较慢,对于一些管理严格的不能直接上网的软件公司来讲,这更加是不可能的。Maven项目可以...
idea中maven项目检出及配置
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Maven 使用Nexus创建私服
仓库管理软件:
私服不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库
有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:
Apache基金会的Archiva、JFrog的Artifacotory和Sonatype的Nexus,Archiva是开源的,Artifacotory和Nexus的核心也是开源的
Nexus分为开源版和专业版,开源版本基本GPLv3许可证,其特性足以满足大部分Maven用户的需要,特性如下:
较小的内存占用(最少仅为28MB)
基于ExtJS的友好界面
基于Restlet的完全REST API
支持代理仓库、宿主仓库和仓库组
基于文件系统、不需要数据库
支持仓库索引和搜索
支持从界面上传Maven构件
细粒度的安全控制
Nexus专业版本是需要付费购买的,对开源版本多如下特性:
一些专业安全控制
发布流程控制等需要的特性
Nexus是典型的JavaWeb应用,它有两种安装包:包含jetty容器的Bundle包,不包含Web容器的war包
解压后直接运行即可
解决压包含如下两个目录:
nexus-webapp-xxx:该目录包含了Nexus运行所需要的文件,如启动脚本、依赖jar包等
sonatype-work:该目录包含Nexus生成的配置文件、日志文件、仓库文件等
其中,第一个目录是运行Nexus所必需的,而且所有相同版本的Nexus实例所包含的该目录内容都是一样的。
第二个目录不是必须的,是在运行的时候动态创建的
所以需要备份Nexus的时候,默认备份sonatype-work目录就可以。
在linux下面安装
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script
在172.168.27.70服务器上操作
root用户操作(创建maven用户并赋权限)
groupadd -g 1000 maven
useradd -d /opt/maven/ -g 1000 maven
chown -R maven:maven /opt/maven
passwd maven
su - maven
上传至/opt/maven目录
unzip nexus-2.3.0-04-bundle.zip
ln -s nexus-2.3.0-04 nexus
cd nexus/bin
./nexus start
设置环境变量
vi .bashrc
增加如下内容:
export NEXUS_HOME=/opt/maven/nexus-2.3.0-04
export PATH=$PATH:$NEXUS_HOME/bin
即可在任何目录运行nexus命令,如
nexus start
Usage: /opt/maven/nexus-2.3.0-04/bin/nexus { console | start | stop | restart | status | dump }
用admin账号登录nexus(建议采用firefox登录,展示效果较好,在其他浏览器兼容器不好)
admin/admin123
deployment/deployment123
添加如下远程仓库:
配置时勾选:Download Remote Indexes,这样nexus自动启动定时任务Scheduled Tasks下载索引
默认Central是没有勾选Download Remote Indexes,可以修改Central的配置,下载中央仓库的索引
并在仓库组 Public Repositories中按以下顺序增加以上4个远程仓库
Sonatype Forge、Apache Releases、JBOSS Releases、JAVA NET
Nexus的默认管理员用户名和密码为admin/catt2013
Nexus的仓库和仓库组
仓库有4种类型
group(仓库组)、hosted(宿主)、proxy(代理)、virtual(虚拟)
虚拟类型仓库的作用实际上是动态地将仓库内容格式转换,即也是为了服务maven1格式
Nexus内置的仓库
Maven Central: 代理Maven中央仓库
Releases: 一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件
Snapshots: 一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件
3rd party: 一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件
Apache Snapshots: 一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件
Codehaus Snapshots: 一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件
Google Code: 一个策略为Release的代理仓库,用来代理Google Code Maven仓库的发布版本构件
java.net - Maven 2:一个策略为Release的代理仓库,用来代理java.net Maven仓库的发布版本构件
Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务
Public Snapshot Repositories:该仓库组将上述所有策略为Snapshot的仓库聚合并通过一致的地址提供服务
仓库分类的概念
Maven可以直接从宿主仓库下载构件;也可以从代理仓库下载构件,
而代理仓库会间接地从远程仓库下载并缓存构件;最后,为了方便,可以从
仓库组下载构件,而仓库组没有实际内容(图中用虚线表示),它会转向其包含
的宿主仓库或代理仓库获得实际构件的内容
Nexus的索引与构件搜索
Nexus通过维护仓库的索引来提供搜索功能,能在很大程度上方便Maven用户定位构件坐标
为了能够搜索Maven中央仓库,首先需要设置Nexus中的Maven Central代理仓库下载远程索引,需要注意的是:
这上配置的值默认是关闭的,此外,由于中央仓库的内容比较多,因此其索引文件比较大,Nexus下载该文件也需要比较
长的时间。
提供的搜索方式如下:
关键字搜索:
GAV搜索:允许用户通过设置GroupId、ArtifactId、Version等信息来进行更有针对性的搜索
类名搜索:允许用户搜索包含某个JAVA类的构件
校验搜索:(checksum Search) 允许用户使用构件的校验(如通过spring-core-3.0.6.RELEASE.jar.sha1的内容)进行搜索
有了中央仓库的索引,用户不仅能够搜索构件,还能够直接浏览中央仓库的内容。即Nexus的索引浏览功能。在Repositories页面中,
选择Browse Index选项卡,就能看到中央仓库内容的树形结构。
以上的索引及浏览功能都是基于Nexus索引而实现的,确切的应该称之为nexus-indexer
Nexus能够遍历一个Maven仓库所有的内容,搜集它们的坐标、校验和所含的JAVA类信息,然后以nexus-indexer的形式保存起来。
中央仓库维护了这样的一个nexus-indexer,因此本地的Nexus下载到这个索引之后,就能在此基础上提供搜索和浏览等服务。
注意:不是任何一个公共仓库都提供nexus-indexer,对于那些不提供索引的仓库来说,无法对其进行搜索。
配置Maven从Nexus下载构件
在POM中为Maven配置仓库和插件仓库,这样的配置只对当前Maven项目有效,在实际应用中,需要在settings.xml中配置。
这样对所有本机Maven项目有效。但是settings。xml并不支持直接配置repositories和pluginRepositories,
可以通过Profile机制进行配置
&profiles&
&id&nexus&/id&
&repositories&
&repository&
&id&nexus&/id&
&name&nexus repository&/name&
&url&&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/repository&
&/repositories&
&pluginRepositories&
&pluginRepository&
&id&nexus&/id&
&name&nexus repository&/name&
&url&&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/pluginRepository&
&/pluginRepositories&
&/profile&
&/profiles&
&activeProfiles&
&activeProfile&nexus&/activeProfile&
&/activeProfiles&
这样的配置已经能让本机所有的Maven项目从Nexus私服下载构件,但还会不时地访问中央仓库central
如果希望所有Maven下载请求都通过Nexus,以全面发挥私服的作用,就需要配置镜像。
&id&nexus&/id&
&mirrorOf&*&/mirrorOf&
&url&&/url&
&/mirrors&
部署构件至Nexus
宿主仓库的主要作用是存储组织内部的,或者一些无法从公共仓库中获得的第三方构件,供项目项目使用。
用户可以配置Maven自动部署构件至Nexus的宿主仓库,也可以通过界面手工上传构件
使用Maven部署构件至Nexus(在所在项目的pom.xml中配置)
&distributionManagement&
&repository&
&id&nexus-releases&/id&
&name&Nexus Releases Repository&/name&
&url&&/url&
&/repository&
&snapshotRepository&
&id&nexus-snapshots&/id&
&name&Nexus Snapshots Repository&/name&
&url&&/url&
&/snapshotRepository&
&/distributionManagement&
Nexus的仓库对于匿名用户是只读的,为了能够部署构件,需要在settings.xml中配置认证信息
&id&nexus-releases&/id&
&username&admin&/username&
&password&admin123&/password&
&id&nexus-snapshots&/id&
&username&admin&/username&
&password&admin123&/password&
&/servers&
手工部署第三方构件至Nexus
针对由于许可证的因素无法公共地放在公共仓库中,还有大量的小型项目,没有把自己的构件分发到中央仓库,可以手工下载到本地,
然后通过Nexus的界面上传到私服中。
上传第三方构件,上传至3rd party宿主仓库
Nexus的权限管理
访问控制模型
Nexus是基于权限(privilege)做访问控制的,服务器的每一个资源都有相应的权限来控制。因此用户执行特定的操作时就必须有必要的权限。
Nexus预定义的三个用户,这三个用户对应了三个权限级别:
admin/admin123:拥有对nexus服务的完全控制
deployment/deployment123:能够访问nexus,浏览仓库内容、搜索、并且上传部署构件,但无法对Nexus进行任何配置
anonymous:对应了所有未登录的匿名用户,可以浏览仓库并进行搜索。
为项目分配独立的仓库
为每个项目分配独立的仓库,并且只将仓库的部署、修改、和删除权限赋予该项目成员,其他用户只能读取、下载和搜索该仓库的内容。
有了仓库之后,就需要创建基于仓库的增、删、改、查权限,在Nexus中,这样的权限是基于Repository Target建立的,
Repository Target实际上是一系列表达式,在访问仓库某路径下面的内容的时候,Nexus会将仓库路径与Repository Target的
正则表达式一一匹配,以检查权限是否正确。
先建立Repository Target,然后根据Repository Target建立对应的privileges, 建立包含如上权限的角色,
根据需要将其分配给项目的团队成员。
Nexus的调度任务
Nexus提供了一系列可配置的调度任务来方便用户管理系统。
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.048 (s). 12 q(s)博客分类:
其实介绍Maven私服的资料已经很多了,《Maven权威指南》、许晓斌老师的Blog都详细介绍了常用私服——Nexus的功能,在此为何笔者还要写一下呢,一个是笔者写的是常用的功能,本身Maven这东西就是使用层次,若不是研究Maven内核、扩展Maven,大可不必细究源代码,有那时间,还不如看看Mina的源代码。这里只是说说笔者常用到的私服搭建、使用。二就是总结出来也好给健忘的自己留个备份。三就是确实私服是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是。笔者用的是nexus-oss-webapp-1.9.1.1-bundle版本,内部嵌入了Jetty。先安装、再启动。启动脚本在{nexus_HOME}\bin\jsw\windows-x86-32下面。Installnexus.bat是安装、Startnexus.bat是随机启动。默认是占用了您机器的8081端口。启动前请务必保证该端口未被占用。
常用功能简介
Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。
开启Nexus服务后访问url地址,之后登录系统,用户名密码分别是:admin/admin123.
最频繁的就是点击左侧菜单栏的按钮 列出来的都是仓库,一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。
下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能,我们先选择一个proxy类型的代理仓库——Apache Snapshots之后将它的下载索引项设为true,确认保存即可 Download storage location设为true,保存后后台会运行一个任务,点击菜单栏的选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。比如搜索关键字Struts。 就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息
&repositories&
&repository&
&id&nexus&/id&
&name&nexus&/name&
&url&http://127.0.0.1:8081/nexus/content/groups/public/&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/repository&
&/repositories&
&pluginRepositories&
&pluginRepository&
&id&nexus&/id&
&name&nexus&/name&
&url&http://127.0.0.1:8081/nexus/content/groups/public/&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/pluginRepository&
&/pluginRepositories&
这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。
&id&nexus&/id&
&repositories&
&repository&
&id&nexus&/id&
&name&local private nexus&/name&
&url&http://localhost:8081/nexus/content/groups/public&/url&
&/repository&
&/repositories&
&/profile&
&id&nexus-snapshots&/id&
&repositories&
&repository&
&id&nexus-snapshots&/id&
&name&local private nexus snapshots&/name&
&url&http://localhost:8081/nexus/content/groups/public-snapshots&/url&
&/repository&
&/repositories&
&/profile&
&/profiles&
&activeProfiles&
&activeProfile&nexus&/activeProfile&
&activeProfile&nexus-snapshots&/activeProfile&
&/activeProfiles&
之后所有本机的Maven项目就在私服下载组件。
假如我们下载了Oracle的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd party,之后选择Artifact Upload上传至宿主空间。 上传成功后,可以看到如下效果
自己开发的组件也可以通过以上方式上传。
这一次仅仅介绍了常用的私服功能,因为这方面资料太多了。所以就不赘述了。下面共享几个链接
Download storage location设为true这个选项没有找到啊还有个问题,这个选项没有找到。我就在 Scheduled Tasks 里面自己建了一个任务,run。但是很快就完成了,结果那一列显示 OK[0s] 啥也没下下来啊。
suhuanzheng7784877
浏览: 557533 次
来自: 北京
浏览量:43114
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
看完我就去厕所思考了~~写的太好了~~
夫处世之道,亦即应变之术,岂可偏执一端? 用兵之道,亦然如此, ...
不应该 delete 执着;应该有原则的 执着if(天时||地 ...
我想请问楼主 怎么样才能通过memcache客户端在程序中通过 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'Maven实战——使用Nexus创建私服_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Maven实战——使用Nexus创建私服
来源:Linux社区&
作者:fuyuwei2015
首先下载Nexus,官方下载地址是http://nexus.sonatype.org/download, 我们可以根据需要下载不同的Bundle包,都是有.tar.gz、.zip和.war格式的
1、bundle方式安装nexus nexues的Bundle自带了Jetty容器,因此用户不需要额外的web容器就能直接启动nexus。首先将Bundle文件解压到,会得到两个目录: nexus-webapp-1.7.2/:该目录包含了Nexus运行所需要的文件,如启动脚本、依赖jar包 sonatype-work/:该目录包含了Nexus生成的配置文件、日志文件、仓库文件等 当用户需要备份Nexus的时候,默认备份sonatype-work目录 在window系统用户进入nexus-webapp/bin/jsw/windows-x86-32子目录直接运行nexus.bat就能启动Nexus。 这时,打开浏览器http://localhost:8081/nexus/ 就能看到Nexus的界面,如果要停止Nexus可以再命令行按Ctrl+C 其他脚本说明: InstallNexus.bat:将Nexus安装成Window服务 Uninstallnexus.bat:卸载Nexus Window服务 Startnexus.bat:启动Nexus Window服务 Stopnexus.bat:停止Nexus Window服务 Pausenexus.bat:暂停Nexus Window服务 Resumenexus.bat:恢复暂停的Nexus Window服务 其他的安装安装方式就不一一介绍了
2、登录Nexus Nexus默认管理员的用户名和密码是admin/admin123
Nexus的仓库和仓库组 1、Nexus内置的仓库 单机Nexus界面左边导航栏中干的Repositories链接,如下:
从图中可以看到四种仓库类型:group(仓库组)、hosted(宿主)、proxy(代理)和virtual(虚拟)。此外仓库还有一个属性为Policy(策略),表示该仓库为发布(Release)版本仓库还是快照(Snapshot)版本仓库。最后两列的值为仓库的状态和路径。 解释下各个仓库的作用: 1、Maven Central:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库的发布版本构件 2、Releases:这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件 3、Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件 4、3rd party:这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方版本构件 5、Apache Snapshots:这是一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件 6、Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务 7、Public Snapshot Repositories:该仓库组将上述所有策略为Snapshot的仓库聚合并通过一致的地址提供服务
Nexus仓库分类概念
从上图可以看出Maven可以直接从宿主仓库下载构件,Maven也可以从代理仓库下载构件,而代理仓库会间接的从远程仓库下载并缓存构件。最后,为了方便Maven可以从仓库组下载构件,而仓库组没有实际内容,他会转向宿主仓库或者代理仓库获得实际构件内容。 登录之后点击add按钮,可以创建各种类型的仓库,如下图所示:
配置Maven从Nexus下载构件 当需要为项目添加Nexus私服上的public仓库时,配置如下:
&project&& & ...& & &repositories&& & & & &repository&& & & & & & &id&nexus&/id&& & & & & & &name&Nexus&/name&& & & & & & &url&http://localhost:8081/nexus/content/groups/public&/url&& & & & & & &releases&& & & & & & & & &enabled&true&/enabled&& & & & & & &/releases&& & & & & & &snapshots&& & & & & & & & &enabled&true&/enabled&& & & & & & &/snapshots&& & & & &/repository&& & &/repositories&& & &pluginRepositories&& & & & &pluginRepository&& & & & & & &id&nexus&/id&& & & & & & &name&Nexus&/name&& & & & & & &url&http://localhost:8081/nexus/context/groups/public/&/url&& & & & & & &snapshots&&enabled&true&/enabled&&/snapshots&& & & & &/pluginRepository&& & &/pluginRepositories&& & ...&/project&
这样的配置只对当前Maven项目有效,在实际应用中,我们往往想要通过一次配置就能让本机所有的Maven项目都使用自己的Maven私服。 这个时候我们想到settings.xml文件,该文件中的配置对所有本机Maven项目有效,但是settings.xml并不支持直接配置repositories和pluginsRepositories。所幸Maven还提供了Profile机制,能让用户将仓库配置放到settings.xml的profile中,代码如下:
&settings&& & ...& & &profiles&& & & & &profile&& & & & & & &id&nexus&/id&& & & & & & &repositories&& & & & & & & & &id&nexus&/id&& & & & & & & & &name&Nexus&/name&& & & & & & & & &url&http://localhost:8081/nexus/content/groups/public/&/url&& & & & & & & & &releases&&enabled&true&/enabled&&/releases&& & & & & & & & &snapshots&&enabled&true&/enabled&&/releases&& & & & & & &/repositories&& & & & & & &pluginRepositories&& & & & & & & & &pluginRepository&& & & & & & & & & & &id&nexus&/id&& & & & & & & & & & &name&Nexus&/name&& & & & & & & & & & &url&http://localhost:8081/nexus/content/groups/public/&/url&& & & & & & & & & & &releases&&enabled&true&/enabled&&/releases&& & & & & & & & & & &snapshots&&enabled&true&/enabled&&/releases&& & & & & & & & &/pluginRepository&& & & & & & &/pluginRepositories&& & & & &/profile&& & &/profiles&& & &activeProfiles&& & & & &activeProfile&nexus&/activeProfile&& & &/activeProfiles&& & ...&/settings&
该配置中使用了一个id为nexus的profile,这个profile包含了相关的仓库配置,同时配置中又使用了activeProfile元素将nexus这个profile激活。这样当执行Maven构建的时候,激活的profile会将仓库配置应用到项目中去。Maven除了从Nexus下载构件之外,还会访问中央仓库central,我们希望的是所有Maven下载请求都仅仅通过Nexus,以全面发挥私服的作用。这需要借助Maven镜像配置了。可以创建一个匹配任何仓库的镜像,镜像地址为私服,这样Maven对任何仓库的构件下载请求都会转到私服中,具体配置如下:
&settings&& & ...& & &mirrors&& & & & &mirror&& & & & & & &id&nexus&/id&& & & & & & &mirrorOf&*&/mirrorOf&& & & & & & &url&http://localhost:8081/nexus/content/groups/public&/url&& & & & &/mirror&& & &/mirrors&& & &profiles&& & & & &profile&& & & & & & &id&nexus&/id&& & & & & & &repositories&& & & & & & & & &repository&& & & & & & & & & & &id&central&/id&& & & & & & & & & & &url&http://central&/url&& & & & & & & & & & &releases&&enabled&true&/enabled&&/releases&& & & & & & & & & & &snapshots&&enabled&true&/enabled&&/releases&& & & & & & & & &/repository&& & & & & & &/repositories&& & & & & & &pluginRepositories&& & & & & & & & &pluginRepository&& & & & & & & & & & &id&central&/id&& & & & & & & & & & &url&http://central&/url&& & & & & & & & & & &releases&&enabled&true&/enabled&&/releases&& & & & & & & & & & &snapshots&&enabled&true&/enabled&&/snapshots&& & & & & & & & &/pluginRepository&& & & & & & &/pluginRepositories&& & & & &/profile&& & &/profiles&& & &activeProfiles&& & & & &activeProfile&nexus&/activeProfile&& & &/activeProfiles&& & ...&/settings&
这里需要解释的是仓库插件及插件仓库配置,他们id都为central,覆盖了超级POM中的中央仓库配置,他们的url已无关紧要,因为所有的请求都会通过镜像访问私服地址。配置仓库及插件仓库的主要目的是开启对快照版本下载的支持。当Maven需要下载发布版本或者快照构件时,首先检查central,看??类型构件是否支持下载,得到正面回答后再根据镜像匹配规则转而访问私服仓库地址。
Maven权威指南_中文完整版清晰PDF&
Maven 3.1.0 发布,项目构建工具
Linux 安装 Maven
Maven3.0 配置和简单使用
下搭建sun-jdk和Maven2
Maven使用入门
本文永久更新链接地址:
相关资讯 & & &
& (02月13日)
& (11/10/:06)
& (03月02日)
& (01月20日)
& (09/03/:01)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 nexus maven 使用教程 的文章

 

随机推荐