`

nexus私服搭建

阅读更多

如何建立Nexus私人仓库

去nexus的bin目录,安装下nexus install。



 

然后确认服务是否已经安装完成。

http://localhost:8081/nexus/index.html#welcome在浏览器里输入这个连接 帐号是admin密码是admin123

 

repository的类型:

hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。

proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。

group,仓库组,用来组合多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。

 

首先选择一个type为proxy的repository,如Central,把Download Remote Indexes改为true,这样nexus才会从central repository下载索引,才能在nexus中使用artifact search的功能 

然后选中Public Repositories,type为group,设置组合哪些repository。

右键你需要的repository,点Update Index,它就会开始下载了。

你在search里随便查询一个jar看能不能成功。有就是OK了,我们这里直接查询spring-core。

 

管理本地仓库

type为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party。

分别讲一下这三个预置的仓库都是做什么用的:

Releases:

这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库。 关于如何发布后面会有介绍.

 

Snapshots:

这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 

因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.

 

3rd Party:

顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛,没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。

 

我们也可以在Nexus为自己的项目手动单独建库:建库,Add-- >HostedRepository

 

在左侧Security中,可以添加权限,添加角色,添加用户

 

Maven仓库组

通过前面介绍可以了解到, 我们可以建立多个proxy代理仓库,hosted本地仓库, 如果没有仓库组的概念,我们如果需要引用这些仓库的是时候需要分别加入到我们的setting.xml里面去, 

有了仓库的组的概念, 我们只需要做一次引用就可以了,把我们需要的仓库加入到仓库组即可。如下图:



 

仓库组默认包含本地仓库Releases,snapshots, 3rd party和代理仓库MavenCentral。

你可以在Configuration配置页添加仓库到这个仓库组.。

如果需要你还可以创建一个仓库组,在Repositories菜单处选add-->Repository Group即可

 

可以设置多个仓库,一个连接私服3rt,一个连接oschina中国maven中央仓库镜像。

私服只是用来维护一些本地的第三方jar,或企业内部的版本。

由于oschina拒绝被代理,所以只能用2个response搞定。

 

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

	<localRepository>D:\maven\repository1</localRepository>

	<profiles>
		<profile>
			<id>dev</id>
			<repositories>
			
				<repository>
					<id>3rd-maven-repo</id>
					<url>http://localhost:8081/nexus/content/groups/public/</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
				
				<repository>
					<id>osc-maven-repo</id>
					<url>http://maven.oschina.net/content/groups/public/</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
			</repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>osc-maven-repo</id>
					<url>http://maven.oschina.net/content/groups/public/</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</pluginRepository>
			</pluginRepositories>
		</profile>
	</profiles>

	<activeProfiles>
		<activeProfile>dev</activeProfile>
	</activeProfiles>

</settings>

 我们也可以把第三方库上传到osc。

项目上传说明

开源中国 Maven 库的第三方库中上传的构件信息仅仅存在于本库中,我们不向 Maven 中央库推送任何有关您上传的构件。如果有需要将您的构件上传到 Maven 中央库,请前往 Maven中央库,如果您的构件在中央库中申请通过,并且在本库中存在版本,请通知 @卜祥龙 处理。鉴于上传到本 Maven 库中的构件信息直接放在对外开放的 public group 中会误导用户,此第三方库未配置到 public group ,如果您的项目中有需要用到其中的构件,请在项目中单独配置此地址:http://maven.oschina.net/content/repositories/thirdparty/ 。

 

<repository>
	<id>3rd-maven-repo</id>
	<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
	<releases>
		<enabled>true</enabled>
	</releases>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>

 

  • 大小: 60.5 KB
  • 大小: 3.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics