利用Nexus搭建Maven的本地仓库服务器

使用Maven的人都知道,Maven的运行,需要从远程中央仓库中获取所需的依赖,这对于小型的公司来时候,可能下载的人数并不多,而对于很多人通过使用Maven来说,每次都从中央仓库去下载所需的依赖,开发将受到网络带宽的严重限制,因此,利用Nexus在本地建立一个缓存中央仓库的本地仓库服务器,将十分必要。

1、简介

      仓库管理器有两个服务目的,首先是一个高度可配置的介于你的组织和公开Maven仓库之间的代理,其次它为你的组织提供了一个可不熟你组织内部生成的构件的地方。

      除了简单的时间和带宽的节省,仓库管理器为组织提供了一种控制Maven下载的机制。你可以详细的设置从公开仓库包含或者排除特定的构件。能够控制从核心Maven仓库的下载对于很多组织来说是经常一个必要前提,它们需要维护一个组织中使用以来的严格控制,比如:一个想要标准化Spring依赖版本的组织,可以通过在仓库管理器中仅仅提供一个特殊版本的构建来加强这种标准。另外,还有一些组织可能关心确保所有外部依赖拥有和组织的法律规范相容的许可证。仓库管理器为那些需要确信总体架构和政策实施的组织提供了这一层的控制。

2、安装Nexus

2.1、所需软件:nexus-oss-webapp-1.9.1.1

2.2、运行Nexus

解压下载的nexus-oss-webapp-1.9.1-bundle.zip至任意目录,比如:D:\nexus-oss-webapp-1.9.1-bundle;进入nexus-oss-webapp-1.9.1.1\bin\jsw\windows-x86-32,运行Startnexus.bat,将启动一个Web容器,默认地址为:http://localhost:8081/nexus,通常可以双击Installnexus.bat,将Nexus安装为以服务,随系统自动启动,此时,通过http://localhost:8081/nexus即可访问Nexus服务器,页面右上角有个Login,默认的用户名和密码:admin/admin123

3、使用Nexus

在配置Maven使用Nexus前,需要对Nexus进行部分的设置,一般情况下,需要首先下载Remote Indexes:通过admin/admin123登录之后,在左侧点击Repository,然后在右侧列出的Repository中,将Apache Snapshots,Maven Central,Codehaus Snapshots的Configuration得Remote Indexes设置为true,然后Save,则系统会自动去下载相应的Indexes,不过这个过程将视网速而所需的时间,本人在download的时候,用了1个多小时... ...如下截图:

 

 4、Maven配置使用Nexus

      Nexus本地仓库服务器建立以后,通过Maven的配置,就可以配置使用Nexus服务器了,而不是每次都从中央仓库去下载所需的构件了,而仅仅下载一次缓存在本地供其他开发人员下载了,因此,需要编辑你的~/.m2/settings.xml文件中的mirror配置或者使用profile去配置了

4.1、Mirror配置

... ...
<mirrors>
  <mirror>
    <id>nexus</id>
    <name>Local Nexus Repository</name>
    <url>http://localhost:8081/nexus/content/groups/public</url>
    <mirrorOf>central</mirrorOf>
  <mirror>
</mirrors>
... ...

 4.2、profile配置

<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>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>true</enabled></snapshots>
			</pluginRepository>
		</pluginRepositories>
	</profile>
  </profiles>

<activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>

 此时Maven即可使用Nexus服务器作为本地仓库服务器了,可以试着删除本地repository的某些jar包,则可以在窗口中看到Downloading : http://localhost:8081/nexus/content/groups/public ...了。同样在维护和管理Nexus中还有很多注意工作,需要在使用的过程中一一注意,这里就不多说了。

猜你喜欢

转载自zhoucl.iteye.com/blog/1122062