- 浏览: 62363 次
- 性别:
- 来自: 成都
文章分类
最新评论
之前看到过一些Nexus的介绍,由于刚开始接触maven时使用的私服是artifactory,因此没有太在意。今天想着既然Nexus能有胆量出来
混,应该有点真本事才是,看了一下nexus的安装介绍,挺简单的,试试无妨。因此装上小试了一下,结果喜出望外,nexus的表现非常不错,尤其是在开
启远程索引之后,简直太方便了。
于是决定放弃artifactory改而使用nexus作为自己的maven私服。恩,惭愧,颇有点喜新厌旧的味道,artifactory才装上来没有几天,就惨遭抛弃......
整理了一下,全过程记录如下:
1. 首先下载Nexus
从官网http://nexus.sonatype.org/download.html下载下载最新版本,因为是在windows上安装,因此下载的是zip版本,大小大概是16m。
2. 安装
简单解压缩下载的zip包到安装目录就可以了。
可执行文件在%nexus安装目录%\nexus-webapp-1.0.0\binjsw\windows-x86-32下:
InstallNexus.bat/UninstallNexus.bat是安装/卸载nexus为windows service,如果需要设置nexus为开机自动启动就可以安装为windows service然后设置启动方式为自动。
Nexus.bat是直接在命令行中启动Nexus,如果不想安装Nexus为windows service,可以用这个文件来手工控制Nexus的启动退出。
3. 配置nexus
首先登录,默认地址http://localhost:8081/nexus/,默认用户名密码为admin/admin123.
最重要的一件事情就是开启远程索引下载,索引这个功能实在是太好用了。
nexus默认是关闭远程索引下载功能的,主要是担心会造成对服务器的巨大负担,需要我们手工开启。
开启的方式:
点击Administration菜单下面的Repositories,将这三个仓库Apache
Snapshots,Codehaus Snapshots,Maven Central的Download Remote
Indexes修改为true。然后在这三个仓库上分别右键,选择Re-index,这样Nexus就会去下载远程的索引文件。
4. 配置maven
要让maven使用nexus作为私服,需要做一些设置,使用和原来设置artifactory相似的方法。修改~/.m2/settings.xml.
增加nexus的profile:
< id > nexus </ id >
< repositories >
< repository >
< id > nexus </ id >
< name > local private nexus </ name >
< url > http://localhost:8081/nexus/content/groups/public </ url >
< releases >< enabled > true </ enabled ></ releases >
< snapshots >< enabled > false </ enabled ></ snapshots >
</ repository >
< repository >
< id > nexus </ id >
< name > local private nexus </ name >
< url > http://localhost:8081/nexus/content/groups/public-snapshots </ url >
< releases >< enabled > false </ enabled ></ releases >
< snapshots >< enabled > true </ enabled ></ snapshots >
</ repository >
</ repositories >
< pluginRepositories >
< pluginRepository >
< id > nexus </ id >
< name > local private nexus </ name >
< url > http://localhost:8081/nexus/content/groups/public </ url >
< releases >< enabled > true </ enabled ></ releases >
< snapshots >< enabled > false </ enabled ></ snapshots >
</ pluginRepository >
< pluginRepository >
< id > nexus </ id >
< name > local private nexus </ name >
< url > http://localhost:8081/nexus/content/groups/public-snapshots </ url >
< releases >< enabled > false </ enabled ></ releases >
< snapshots >< enabled > true </ enabled ></ snapshots >
</ pluginRepository >
</ pluginRepositories >
</ profile >
修改activeProfiles为:
< activeProfile > nexus </ activeProfile >
</ activeProfiles >
5. 为nexus增加Artifact
有些特殊的Artifact无法从maven官网仓库中下载,比如sun的一些包,只好自己自行下载后添加到私服中。
在nexus中我选择将这些Artifact上传到默认安装就存在的仓库3rd Party中,右击仓库名,选择Upload Artifact。
6. 在eclipse中使用索引功能
原来试过,使用artifactory私服也可以使用Artifact的索引功能,但是由于不知道怎么设置远程仓库的index,我只会设置
当前artifactory私服已有的Artifact的索引,对于还没有导入到artifactory私服的Artifact就没有办法索引了,很不方便,
毕竟刚开始使用maven时,所有用到的Artifact都是本地和私服没有而需要到远程仓库取的。
nexus中可以很方便的得到远程仓库的Artifact的索引,在上面“3. 配置nexus”就介绍过。下面介绍如何在eclispe里面
设置和使用索引功能:
1) 打开Maven Indexes 的eclispe view
在eclispe中选择window -> show view -> other ... -> Maven -> Maven Indexes
2) 添加nexus的index
右键菜单中选"add index", 在弹出的"Add Respository index"窗口中填入:
Repository URL: http://localhost:8081/nexus/content/groups/public
Repository Id: nexus
Index Update URL: 放空,暂时还不知道该怎么填
加入后eclispe会自动load一次index信息,然后就可以在新加入的index下可以拉出极大数量的Artifact信息。
3) 测试一下使用
找个pom.xml文件,右键 -> Add Dependency, 然后填入一个关键词,比如我填入mina,马上填出和mina相关的一些
选择,我找到apache mina,双击最新一个版本。会自动在pom.xml文件中增加以下内容:
< groupId > org.apache.directory.mina </ groupId >
< artifactId > mina-core </ artifactId >
< version > 0.9.5 </ version >
</ dependency >
然后Maven自动下载jar包,再将jar包加入项目的build path,全程自动化处理,真是爽啊。
7. 为nexus增加新的proxy repository
方法很简单,administration -> Repositories -> add ->
proxy,填写后保存即可。但是要注意,nexus不会自动将新加入的repository添加到group中,而我们一般喜欢直接使用默认
的"public repository" group, 比如前面我在maven的profile中就只设置了这一个URL: http://localhost:8081/nexus/content/groups/public
。因此需要手工修改"public repository" group的设置,将刚才添加的proxy repository加到组中。
推荐的repository有:
1) jboss http://repository.jboss.com/maven2/
2) sun http://download.java.net/maven/2/
3)k-int http://developer.k-int.com/maven2/
加入这个纯粹是因为它有sun的jmxri/jmxtools这些Artifact,强烈鄙视sun,自己的官方repository居然没有。
4)sonatype http://repository.sonatype.org/content/groups/public/
8. 总结
很明显,nexus无论是在界面,功能,操作上,都比artifactory强大的多。
因此推荐大家使用nexus替代artifactory作为maven私服。
updates:
1. 2008.11.28
由于公司升级操作系统,告别老旧不堪的windows2000升级到vista,因此重新安装了nexus. 新版本的nexus似乎增加了不少小的功能比如对remote index的支持,具体没有深究,不过能不断更新实在是很令人欣慰。以后就打算用nexus了。
发表评论
-
Maven dependency and repository
2011-10-12 10:04 793http://tech.ddvip.com/2009-01/1 ... -
maven profiles
2011-10-12 10:03 836定义Profiles 你可以把profiles定义在4个地 ... -
使用maven2 进行团队配置
2011-10-12 10:03 746对于团队来说,建立统一的开发环境是必须的,而maven能很好帮 ... -
maven 配置篇 之pom.xml
2011-10-12 10:02 704http://tech.ddvip.com/2009-01/1 ... -
maven 配置篇 之 settings.xml
2011-10-12 10:02 673maven2 比起maven1 来说, ... -
初学maven(5)-使用assembly plugin实现自定义打包
2011-10-11 18:05 925在上一篇文章中,讨论到在对maven的机制不熟悉的情况下,为了 ... -
初学maven(4)-使用maven ant task实现非标准打包
2011-10-11 18:04 1142maven很强大,但是总有些事情干起来不是得心应手,没有使用a ... -
初学maven(3)-使用nexus替代artifactory作为maven私服
2011-10-11 18:02 965之前看到过一些Nexus的 ... -
初学maven(2)-maven/artifactory/m2eclipse安装全过程
2011-10-11 17:58 837前段时间研究过一下maven,中途因为工作忙搁置了一段时间,重 ... -
初学maven(1)-常见小问题集锦
2011-10-11 17:57 764http://www.bianceng.cn/Programm ... -
maven仓库管理器Nexus
2011-08-12 10:53 1043关键字: naven2.0.9 nexus1.2.1 ... -
eclipse中使用maven插件 index不能更新
2011-08-12 10:21 2161问题产生如下: 因为单位使用了过滤,访问Internet时, ...
相关推荐
使用nexus替代artifactory作为maven私服
使用Artifactory设置Maven2组件库
内部仓库 internal-maven-repository——用于存储团队内部的构件,不与任何外部仓库同步,是团队专有的构件库。 选择 Maven 仓库工具的标准包括:开放源码并且免费;提供管理工具;提供仓库浏览器——最好是 web ...
jfrog-artifactory,适合c++的版本,是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理你的工件和依赖项
该工具旨在简化从 Sonatype Nexus 到 JFrog Artifactory 的过渡。 它提供了一个简单的类似向导的界面,允许您轻松配置和运行从 Nexus 实例到 Artifactory 实例的存储库、工件、用户和设置的迁移。 目前,可以迁移...
jfrog-artifactory,docker-compose的一件部署版本,适合c++的版本,该版本占用资源小,部署方便,比较轻量级,是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理你的工件和依赖项
jfrog-artifactory-cpp-ce-6.11.6.zip c++ 二进制包版本管理工具,免费CE 版本
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:artifactory_du-1.0.4-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Nexus是Sonatype推出的强大Maven仓库管理器产品,要比以前TSS上介绍的Artifactory要好使用的多,也是一个拆箱即用的Java App,内嵌Jetty容器和Java Wrapper做Windows服务,安装简单到解压然后双击install即可。...
下载Word版 博文链接:https://forearrow.iteye.com/blog/171385
Artifactory REST Example Artifactory REST Example 使用java rest api访问 artifactory
该插件解析Maven存储库的maven-metadata.xml而不是使用Nexus API,因此可以用于更广泛的Artifactory和Nexus存储库。 GoCD JSON API的使用 在以下存储库上进行了测试: Maven中央() JBoss Nexus() Bintray ...
python库。 资源全名:artifactory-lib-0.0.6.tar.gz
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:dohq_artifactory-0.2.49-py2-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
1、 安装好私服,使用nexus或artifactory 2、 配置maven conf/setting.xml文件 添加上传验证 <id>release <username>admin <password>admin123 <id>snapshot <username>admin <password>admin123 ...
这是 Artifactory REST API 的 Perl 客户端: : use Artifactory::Client; my $args = { artifactory => ' http://artifactory.server.com ' , port => 8080, repository => ' myrepository ' , ua => LWP::...
连结节点模块,用于在像maven-release-plugin这样的sonatype关联中部署工件。要求Sonatype Nexus OSS配置了npm存储库。 Nexus的有效用户。 已通过连结验证本地机器。 有权在git信息库中推送和提交的用户。安装# npm ...