启动Nexus,就是启动一个web服务器,它的默认地址是localhost:8081。Nexus在一个名为Jetty的servlet容器中运行.
默认的管理员登陆名"admin"及密码"admin123"
http://127.0.0.1:8081/nexus/index.html
配置Maven使用Nexus
配置Maven去查阅Nexus而非中央Maven仓库,在你的~/.m2/settings.xml文件中添加
<?xml version="1.0"?>
<settings>
<mirrors> <mirror> <id>Nexus</id> <name>Nexus Public Mirror</name> <url>http://localhost:8081/nexus/content/groups/public</url> <mirrorOf>central</mirrorOf> </mirrors>
</settings>
处理逻辑:将Nexus配置成所有仓库的镜像之后,Maven现在会从本地的Nexus安装查阅,而非去外面查阅中央Maven仓库。 如果对Nexus有一个构件请求,本地的Nexus安装会提供这个构件。如果Nexus没有这个构件,Nexus会从远程仓库获取这个构件,然后添加至远程仓库的本地镜像。
使用Nexus作为快照仓库
<mirrors> <mirror> <!--This is used to direct the public snapshots repo in the profile below over to a different nexus group --> <id>nexus-public-snapshots</id> <mirrorOf>public-snapshots</mirrorOf> <url>http://localhost:8081/nexus/content/groups/public-snapshots</url> </mirror> <mirror> <!--This sends everything else to /public --> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8081/nexus/content/groups/public</url> </mirror> </mirrors>
代理仓库
一个代理仓库是对远程仓库的一个代理。默认情况下,Nexus自带了如下配置的代理仓库:
Apache Snapshots 这个仓库包含了来自于Apache软件基金会的快照版本。http://people.apache.org/repo/m2-snapshot-repository
Codehaus Snapshots 这个仓库包含了来自于Codehaus的快照版本。 http://snapshots.repository.codehaus.org/
Central Maven Repository 这是中央Maven仓库(发布版本)。 http://repo1.maven.org/maven2/
宿主仓库 一个宿主仓库是由Nexus托管的仓库。Maven自带了如下配置的宿主仓库。
3rd Party 这个宿主仓库应该用来存储在公共Maven仓库中找不到的第三方依赖。这种依赖的样例有:你组织使用的,商业的,私有的类库如Oracle JDBC驱动。
Releases 这个宿主仓库是你组织公布内部发布版本的地方。
Snapshots 这个宿主仓库是你组织发布内部快照版本的地方。
虚拟仓库 一个虚拟仓库作为Maven 1的适配器存在。Nexus自带了一个central-m1虚拟仓库。
几个重要的代理仓库中都包含了数千(或数万)的构件,下载每个仓库的所有内容是不切实际的。处于这个原因,大部分仓库维护了一个编录了整个内容的 Lucene索引,以提供快速和有效的搜索。Nexus使用这些远程索引搜索构件,但是默认设置我们关闭了索引下载。要下载远程索引:
1.点击Administration菜单下面的Repositories,更改三个代理仓库的Download Remote Indexes为true。
2.在每个代理仓库上右击然后选择Re-index。这会触发Nexus下载远程的索引文件。 21MB的中央索引
Nexus下载整个索引可能需要好几分钟,但是一旦你下载好之后,你就能够搜索Maven仓库的所有内容了。
仓库ID 仓库ID是将会被用在Nexus URL中的标识符。
例如,中央代理仓库有一个ID 为"central",这就意味着Maven可以直接在http://localhost:8081/nexus/content/repositories/central访问这个仓库。
仓库名称
仓库的显示名称。名称是必需的。
仓库类型
仓库类型(代理,宿主,或者虚拟)。你不能改变仓库的类型,在你创建一个仓库的时候它就被指定了。
仓库策略
如果一个代理仓库的策略是release,那么它只会访问远程仓库的发布版本构件。如果一个代理仓库的策略是snapshot,它只会下载远程仓库的快照版本构件。
部署构件至Nexus,在distributionManagement中提供仓库URL,然后运行mvn deploy。Maven会通过一个简单的HTTP PUT将项目POM和构件推入至你的Nexus安装
部署配置发布版本仓库
<project>
<distributionManagement> ... <repository> <id>releases</id> <name>Internal Releases</name> <url>http://localhost:8081/nexus/content/repositories/releases</url> </repository> ... </distributionManagement>
</project>
部署配置快照版本仓库
<project> <distributionManagement> <snapshotRepository> <id>Snapshots</id> <name>Internal Snapshots</name> <url>http://localhost:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> </project>