谷歌nexus5私服索引问题

上传时间:
8:nexus的配置(由于索引没有更新出了一些小问题没有讲好).
热搜风云榜
56官方微信
扫一扫发现精彩使用nexus搭建maven私服、手动更新索引
Posted: April 13th, 2014&ˑ&Filled under: &ˑ&
网络上关于搭建maven私服的文章很多,但对于maven仓库索引的配置这方面还是较少,本文主要讲述如果快速搭建一个nexus私服,以及如何手动更新索引文件。
本文所用的环境:操作系统CentOS 6.5 64bit,nexus版本nexus-2.8.0-05-bundle
从sonatype官网下载nexus的安装包,这里我下载的版本为nexus-2.8.0-05-bundle,文件名带有bundle表示该文件集成了web服务器,也就不需要再部署到其他中间件上面了。
tar –zxvf nexus-2.8.0-05-bundle.tar.gz
通过上面的命令将其解压到指定的文件夹下,会发现有如下两个文件夹
nexus-2.8.0-05
sonatype-work
在nexus-2.8.0-05/bin目录下有一个名为nexus的shell脚本文件
./nexus console
上面的命令就启动了nexus以控制台的方式,这会将启动的相关信息全部打印出来
注意,这里不建议使用root用户来运行nexus,使用其他用户我们需要考虑一下文件系统的权限问题,不然程序可能无法启动,报出Permissiondenied错误
使用root用户执行如下命令
chmod -R o+w {nexus-home}/
{nexus-home}表示nexus的根目录
上面的命令将nexus整个文件夹(包括其子文件和子文件夹)向普通用户开放了write权限,于是我们就可以使用普通用户执行nexus脚本了,执行命令./nexusstart
StartingNexus OSS…
StartedNexus OSS.
若出现如上结果,则说明nexus OSS已经成功启动了,下面通过浏览器访问{hostname|ipAddr}:8081/nexus即可出现如下画面
Congratulations!到这里我们已经搭好了nexus私服。下面就是配置maven中心仓库的索引了。如果有耐心的话,完全可以通过在线更新索引的方式来做,但所消耗的时间较长,下面介绍一种简单、可行的方式来手动更新索引文件。
访问下载中心仓库最新版本的索引文件,在一长串列表中,我们需要下载如下两个文件(一般在列表的末尾位置)
nexus-maven-repository-index.gz
nexus-maven-repository-index.properties
下载完成之后最好是通过md5或者sha1校验一下文件是否一致,因为服务器并不在国内,网络传输可能会造成文件损坏。
下面就是解压这个索引文件,虽然后缀名为gz,但解压方式却比较特别,我们需要下载一个jar包indexer-cli-5.1.1.jar,我们需要通过这个特殊的jar来解压这个索引文件
将上面三个文件(.gz & .properties & .jar)放置到同一目录下,运行如下命令
java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer
等待程序运行完成之后可以发现indexer文件夹下出现了很多文件,将这些文件放置到{nexus-home}/sonatype-work/nexus/indexer/central-ctx目录下,重新启动nexus
./nexus restart
我们可以看到Central仓库下面就可以出现大量的索引文件了
使用管理员账户登录(默认为账户admin,密码admin123)nexus,PublicRepository仓库的地址默认为
该地址就可以作为maven的setting文件的repository-path了,对于设置setting文件在此就不细说了。
下面列出关于nexus的一些常见问题
nexus默认监听端口为8081,如果修改这个端口号呢?
在{nexus-home}/nexus-2.8.0-05/conf目录下有一个nexus.properties的配置文件,通过修改application-port属性为自己想要设定的端口号即可
附加信息:
nexus官方网址http://bit.ly/1eyDC5Y
作者:kmter 发表于 23:43:35
阅读:0 评论:0
via CSDN博客推荐文章 http://bit.ly/1oXmP6w
Related PostsRelated Posts
36 queries in 0.763Maven的使用及Nexus私服配置(一) - 码平天下 - ITeye技术网站
博客分类:
1.下载maven工具包,并配置相应的环境变量。
2.安装m2eclipse插件
在Eclipse-&Help-&Eclipse Marketplace中搜索maven相关的插件,其中有个Maven
Integration插件,点击安装即可。
3.配置m2eclipse插件
在Eclipse-&Window-&Maven-&User Settings中可看到对应的maven用户全局配置,路径一般为"C:\Users\zhaixm\.m2\settings.xml",本地仓库一般会在"C:\Users\zhaixm\.m2\repository"文件夹中。我安装完插件后settings.xml文件是不存在的,我从apache-maven工具包中conf文件夹下的settings.xml拷贝到了.m2文件夹下就可以使用了。
按照以上步骤安装好插件后就可以在eclipse中创建maven项目,并能使用插件默认提供的几个mvn命令来构建项目,也可自己增加maven命令(具体命令可网上查询)。
我在安装完插件后,发现在pom.xml视图中增加dependencis中增加依赖时,无法根据输入内容进行索引,这样就失去了使用maven的一个重要的作用,可用来管理jar包。从网上找了很多资料后发现原来是maven相应的索引未正常建立,搭理eclipse中的maven repositories视图在global下找到central右键点击rebuild索引,插件就会下载相应的索引文件,但是该文件很大,试了很多次都失败了。
后面自己摸索了很久发现原来可以使用maven私服来解决这个问题。创建maven私服的好处有很多,在一个团队内部创建一个私服可以有效的管理使用的开源组件的版本,方便进行分模块开发等等。具体搭建方法见下一篇文章。
附件提供了我在学习maven时的参考资料,里面讲的比较详细对于pom文件中每个节点的作用都有介绍,建议初学者下载详细阅读,另外一个是书中源码。
下载次数: 1052
(286.7 KB)
下载次数: 437
浏览: 42368 次
来自: 厦门
qiushily 写道catalina.bat 是window ...
catalina.bat 是window的,但是加在第一行会报 ...
1、tomcat绿色版设置方法进入tomcat/bin目录下, ...
没说明机子内存多少,咋参考?
看不懂,但感觉写得不错。windows下集成maven+eclipse开发环境一:安装使用maven私服nexus - 推酷
windows下集成maven+eclipse开发环境一:安装使用maven私服nexus
1.&&&Nexus&分为开源版和企业版,开源版基于&GPLv3&许可证。开源版本主要特性有:
1)&&&较小的内存占用(最少为&28MB&)
2)&&&基于&ExJS&的友好界面
3)&&&基于&Restlet&的完全&REST API
4)&&&支持代理仓库、宿主仓库和仓库组
5)&&&基于文件系统,不需要数据库
6)&&&支持仓库索引和搜索
7)&&&支持从界面上传&Maven&构件
8)&&&细粒度的安全控制。
2.&&&Nexus&的下载地址是:&
&。有两种安装包:一种是自带&jetty&容器的&Bundle&包,另一种是不带&web&容器的&war&包。
3.&&&Bundle&包安装目录下会有两个目录:&nexus-webapp-x.x.x&包含了&Nexus&运行所需的文件。&sonatype-work&下包含Nexus&生成的配置文件、日志文件、仓库文件等。&Nexus&默认访问地址是:&
如需要改变端口,可以修改&nexus-webapp-x.x.x/conf/plexus.properties&文件中的&&&&application-port&属性即可。
4.&&&Nexus&的仓库类型有四种:&group&(仓库组)、&hosted&(宿主)、&proxy&(代理)和&virtual&(虚拟)。仓库组没有具体的内容,它会转向其包含的宿主仓库或代理仓库获得实际构件的内容。宿主仓库主要是用来存放一些组织内部的构件,或由于版权原因不能放在公共&Maven&仓库中的构件的。代理仓库则是用来代理远程仓库,它会从远程仓库下载并缓存构件。虚拟仓库用于&maven1&格式的仓库,会动态地将仓库内容格式进行转换。
5.&&&Nexus&内置了如下仓库:
Maven Central&
:代理&Maven&的中央仓库,策略为&release
:策略为&Release&的宿主类仓库,用来部署组织内部的&release&版本构件
Snapshots&
:策略为&Snapshot&的宿主类仓库,用来部署组织内部的&release&版本构件
3rd party&
:策略为&Release&的宿主类仓库,用来部署无法从公共仓库获得的第三方&release&版构件。
Apache Snapshots&
:代理&Apache Maven&仓库,策略为&Snapshot
Codehaus Snapshots&
:代理&Codehaus Maven&仓库,策略为&Snapshot
Google Code&
:代理&Google Code Maven&仓库,策略为&Release
Java.net – Maven 2&
:代理&Java.net Maven&仓库,策略为&Release
Public Repositories&
:将上述策略为&Release&的仓库聚合并通过一致的地址提供服务。
Public Snapshot Repositories&
:将上述策略为&Snapshot&的仓库聚合并通过一致的地址提供服务。
6.&&&创建&Nexus&宿主仓库时,仓库会默认地存放在&sonatype-work/nexus/storage/repository-id/&下,也可以填写&Override Local Storage Location&自定义仓库的存储路径。同时可以设置以下选项:
Deployment Policy&
:只读(禁止部署)、关闭重新部署(同一构件只能部署一次)或允许重新部署。
Allow File Browser&
:设置是否允许在&Repository&的&Browse Storage&选项卡中浏览仓库。
Include in Search&
:设置是否对该仓库进行索引并提供搜索。
Publish URL&
:设置是否通过&URL&提供服务,如为&false&,访问该仓库的地址时会得到&404
Not Found Cache TTL&
:缓存未找到文件信息的时间(此时间内不再去找,直接返回没找到)
7.&&&创建&Nexus&代理仓库时,除了设置远程仓库的地址和认证信息外,还可以设置以下选项:
Download Remote Indexes&
:设置是否下载远程仓库的索引。(下载远程仓库的索引后,即使没有缓存远程仓库的构件,用户依然能搜索或浏览构件的基本信息)
Checksum Policy&
:设置校验和出错时,是忽略、记录警告信息还是拒绝下载。
Artifact Max Age&
:设置多久更新一次&Artifact&(对于策略为&release&的仓库,可以设置为&-1&,也就是不更新)
Metadata Max Age&
:设置多久更新一次&metadata&。
8.&&&仓库组没有&Release&和&Snapshot&的区别,创建时会让用户选择由哪些宿主仓库或代理仓库构成。仓库组所包含的仓库的顺序决定了仓库组遍历它们的次序,所以最好将常用的仓库放在前面。
9.&&&Nexus&通过维护仓库的索引来提供搜索功能。为了能搜索&Maven&中央仓库,需要设置&Nexus&中的&Maven Central&代理仓库下载远程索引,默认这个设置是关闭的。只要远程仓库提供&nexus-indexer&形式的索引,&Nexus&就可以下载它的索引,同时&Nexus&也可以对宿主仓库和代理仓库进行索引。仓库有了索引之后,可以在其&Browse Index&选项卡中浏览仓库内容的树形结构。
10.&&&Nexus&提供了关键字搜索、&GAV&搜索、类名搜索和校验和搜索。
11.&&&我们可以在&settings.xml&中配置&Maven&私服,这样就可以对本机的所有&Maven&项目有效。但是&settings.xml&中没有Repositories&和&pluginRepositories&。但可以设置如下信息:
repositories
repository
http://localhost:8081/nexus/content/groups/public/
repository
repositories
pluginRepositories
pluginRepository
http://localhost:8081/nexus/content/groups/public/
pluginRepositories
activeProfiles
activeProfile
activeProfile
activeProfiels
同时我们可以&settings.xml&中将&Maven&私服设为所有远程仓库的镜像,这样就能让所有&Maven&下载请求都仅仅通过Nexus&:
http://localhost:8081/nexus/content/groups/public
12.& 可&以在&settings.xml&中的&profile&元素中添加以下元素:
repositories
repository
http://central
repository
repositories
pluginRepositories
pluginRepository
http://central
pluginRepository
pluginRepositories
仓库及插件仓库的&id&为&central&,覆盖了超级&POM&中央仓库的配置它们的&url&已无关紧要,因为所有请求都会通过镜像访问私服地址。这样配置的主要目的是开放对&snapshot&版本下载的支持。
其实只要项目配置中有一个依赖仓库开放了&snapshot&策略就行。而且如果私服仓库组中的仓库不支持snapshot&
13.&&&可以在&POM&中设置构件发布到哪个远程仓库,将这个仓库设置成&Nexus&私服:
distributionManagement
repository
nexus-releases
Nexus&Releases&Repository
http://localhost:8081/nexus/content/repositories/releases/
repository
snapshotRepository
nexus-snapshots
Nexus&Snapshots&Repository
http://localhost:8081/nexus/content/repositories/snapshots/
snapshotRepository
distributionManagement
同时在&settings&中的配置&Nexus&的认证信息:
nexus-releases
nexus-snapshots
同时,&Nexus&也支持在&repository&的&Artifact Upload&选项卡中手动上传构件。
14.&&&一个&Nexus&用户可以被赋予一个或多个角色,一个角色可以包含一个或多个权限,也可以包含一个或多个其他角色。
15.& N&exus&预定义了三个用户:
:对&Nexus&服务的完全控制权限,默认密码为&admin123
deployment&
:能够访问&Nexus&,浏览仓库内容,搜索并且上传部署构件但无法配置&Nexus&,默认密码为:deployment123
anonymous&
:对应所有未登录用户,可以浏览和搜索仓库
16.&&&我们可以为不同的实际项目配置不同的宿主仓库,并为这些宿主仓库建立他们对应的增、删、改、查的权限(通过导航栏中&Privileges&链接),并将这些权限赋予不同的角色(通过导航栏中&Roles&链接)
17.&&&Nexus&提供了如下一系列可调度任务(&Scheduled Tasks&)来方便用户管理系统。用户可以设定这些任务的运行频率。
Download Indexes&
:为代理仓库下载远程索引
Empty Trash&
:清空&Nexus&的回收站
Evict Unused Proxied Items From Repository Caches&
:删除代理仓库中长期未被使用的构件缓存。
Expire Repository Caches&
:清空代理仓库的缓存,重新去获取远程仓库的信息。
Publish Indexes&
:将仓库索引发布成可供&m2eclipse&和其他&Nexus&使用的格式。
Purge Nexus TimeLine&
:删除&Nexus&时间线文件,该文件用于建立系统的&RSS&源。
Rebuild Maven Metadata Files&
:基于仓库内容重新创建&metadata&。
ReIndex Repositories&
:为仓库重新编纂索引。
用户可以通过导航栏中&Scheduled Tasks&链接创建可调度任务。
18.&&&其他私服软件还有:&Archiva&,它是&Apache&的顶级项目,地址为&
JFrog&的&Artifactory&,它将构件存储在数据库中,地址为&
下载最新的Nexus安装包。
解压压缩包,进入
nexus-2.0.4-1-bundle\nexus-2.0.4-1\bin\jsw
目录,该目录中存放了对应各种系统的安装文件。因为这里只阐述windows下面的安装方法,所以请进入
windows-x86-32
(对应32位系统)或者
windows-x86-64
(对应64位系统)文件夹。首先,我们先将nexus注册成windows服务,双击
install-nexus.bat
即可;然后双击
start-nexus.bat
启动nexus服务;另外
stop-nexus.bat
是停止运行nexus服务,
uninstall-nexus.bat
是卸载nexus服务。
至此为止nexus就已经全部安装完成了,下面看看我们该怎样使用它。
在浏览器输入地址:
就可以访问我们新搭建的maven私服了。
&&&&&&&& 更改访问端口:
修改nexus-webapp-2.0.2/conf/plexus.properties
我们先从右上角(Log In)登录,默认的账号密码分别是:
admin/admin123
下面你需要依次做两件事情:
1、修改当前密码。页面左边,
菜单下面的
Change Password
可以更改当前密码
2、开启远程索引下载,作用是在eclipse等IDE里面使用maven搜索导入第三方jar包的时候,就可以直接从网络上现有的资源中down下来,比如想SSH,要用到的相关jar包,基本
nexus中的现有仓库中都会有。要开启远程索引,可按以下步骤操作:
从页面左边的
Views/Repositories
菜单下面的
Repositories
进入仓库列表,然后选择一个仓库,点击下方的
Configuration
标签,找到
Download Remote Indexes
项,将其改为
然后在刚才选择的仓库上,右键,
Repair Index
这样,nexus就会从远程仓库中更新索引。
至此为止,nexus的安装和最基本的配置,已经完成,已经能够满足maven的使用了,其他的功能,诸如搜索,自建仓库,上传第三方jar包等操作,在以后的章节中会涉及到。
在下一章会介绍安装maven,并将nexus配置为maven的中央仓库。
4、修改settings.xml文件:增加server配置
&&&&……&&
nexus-snapshot
&此处的id将于pom文件中的repository.id 对应
5、修改pom文件:
&!--&设定使用Release插件发布的仓库服务器&如有Nexus私服,&取消注释并指向正确的服务器地址.&--&
distributionManagement
repository
&&&&&&&&&&&&
&&&&&&&&&&&&
Team&Nexus&Release&Repository
&&&&&&&&&&&&
http://localhost:8081/nexus/content/repositories/releases
repository
snapshotRepository
&&&&&&&&&&&&
nexus-snapshot
&&&&&&&&&&&&
Team&Nexus&Snapshot&Repository
&&&&&&&&&&&&
http://localhost:8081/nexus/content/repositories/snapshots
&&&&&&&&&&&&
uniqueVersion
uniqueVersion
snapshotRepository
distributionManagement
注意:server.id == respository.id& --& respository.id 的认证会使用server.id 的口令
6、mvn clean deploy
三.管理资源库
为了管理的Nexus仓库,登录以管理用户,在导航库菜单中的左手。 如果您的Nexus登录到作为一个具有管理权限的用户,你会看到窗口配置的Nexus和标签的下半部分。Nexus的仓库提供了三种不同的库:
代理库是一个远程仓库代理。 默认情况下,具有以下配置的代理仓库Nexus的船舶:
Apache快照
这个库包含来自Apache软件基金会发布
Codehaus的快照
这个仓库包含从Codehaus的
Maven的中央仓库
这是中央存储库(版本)。&
托管的存储库是一个信息库是由Nexus的主持。 下面是配置Maven的托管库:
此托管仓库应该是第三方的依赖并不符合公众可使用Maven仓库。 这些依赖的例子可以是商业,如Oracle JDBC驱动程序,您的组织可能会被引用的专利库。
此托管库是你的组织将发布内部版本。
此托管库是你的组织将发布内部快照。
这不但可以作为仓库,从不同类型的适配器。 目前支持的Nexus转换和从Maven 1和Maven 2仓库仓库。
图6.9。版本库的代理配置屏幕
组是Nexus的强大的功能,一个组下面可以有多个资源库,它允许您用一个URL地址引用组。&
图6.18。组在Nexus的配置屏幕&
请注意,按顺序列出的库的顺序是重要的。 当一个artifact某个库中找到,将返回第一个匹配。 要重新排列,在此列表中,点击并拖动的库进行重新排序。为了更快的找到所需的版本,把最容易找到的库房在前面。
配置使用Nexus组
在~/.m2/settings.xml中添加
&settings&
&!--This sends everything else to /public --&
&id&nexus&/id&
&mirrorOf&*&/mirrorOf&
&/mirrors&
&profiles&
&id&nexus&/id&
&!--Enable snapshots for the built in central repo to direct --&
&!--all requests to nexus via the mirror --&
&repositories&
&repository&
&id&central&/id&
&releases&&enabled&true&/enabled&&/releases&
&snapshots&&enabled&true&/enabled&&/snapshots&
&/repository&
&/repositories&
&pluginRepositories&
&pluginRepository&
&id&central&/id&
&releases&&enabled&true&/enabled&&/releases&
&snapshots&&enabled&true&/enabled&&/snapshots&
&/pluginRepository&
&/pluginRepositories&
&/profile&
&/profiles&
&activeProfiles&
&!--make the profile active all the time --&
&activeProfile&nexus&/activeProfile&
&/activeProfiles&
&/settings&&
Nexus使用假的
作为访问资源库的url地址,在被用到时,会用mirror指定的地址进行替换。
已发表评论数()
&&登&&&陆&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见

我要回帖

更多关于 galaxy nexus 的文章

 

随机推荐