maven私服搭建

Nexus环境搭建

本文采用nexus框架来搭建私服,windows-64位操作系统

准备步骤

环境要求:安装jdk1.8及以上

nexus下载 https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3

安装包包含两个目录:nexus-3.15.2-01、sonatype-work;解压到同一个目录下(环境要求,项目讲解有说明)

#进入nexus-3.15.2-01/bin目录下,安装和启动
nexus.exe /run

执行完成时,显示信息如下:

-------------------------------------------------
Started Sonatype Nexus OSS 3.15.2-01
-------------------------------------------------

访问项目:
http://ip:8081

初始超级管理员用户:admin / admin123

仓库介绍

在这里插入图片描述
登录后,打开仓库菜单 ,可以看到如上几个仓库:
类型有三种分别为:proxy、hosted、group

  • proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用
  • Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里
  • Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址

用户配置

国内开发maven项目一般使用阿里云的maven仓库,创建本地仓库.

私服使用

修改maven-public仓库组

添加maven-aliyun到仓库组中,并修改仓库顺序
在这里插入图片描述
下载jar包时会根据顺序自上而下查找jar包

jar包下载

方式一:全局配置

maven配置文件settings.xml

<mirror>
        <id>public</id>
        <mirrorOf>*</mirrorOf>
		<name>maven-public</name>
        <url>http://127.0.0.1:8081/repository/maven-public/</url>
</mirror>

注:mirrorOf标签内容不能乱写
例如:

  • 代表仓库组中配置的所有仓库
    maven-aliyun,maven-releases 对应仓库组中配置的仓库名

IDE中进行maven配置 ,即可实现jar包下载

方式二:项目中配置

pom.xml文件中添加如下内容

<repositories>
		<repository>
			<id>public</id>
			<name>maven-public</name>
			<url>http://127.0.0.1:8081/repository/maven-public/</url>
		</repository>
</repositories>

发布到私服

方式一:手工发布

访问:http://127.0.0.1:8081 管理员登录
选择第一个面板—upload 选择要上传的包,点击上传即可

在这里插入图片描述

方式二: maven发布
  • 创建角色,分配权限
    在这里插入图片描述
  • 创建用户
    在这里插入图片描述
  • maven配置
<server>
      <id>releaseRepo</id>
      <username>test</username>
      <password>test123</password>
</server>
  • pom配置
<distributionManagement>
	<repository>
		<id>releaseRepo</id>
		<name>maven-releases</name>
		<url>http://127.0.0.1:8081/repository/maven-releases</url>
	</repository>
</distributionManagement>

注:pom文件id标签的值,必须和maven的server标签的id值相同.

  • 执行deploy

在这里插入图片描述

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ webservice ---
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.jar
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.jar (6.0 MB at 9.1 MB/s)
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.pom
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/0.1.0/webservice-0.1.0.pom (5.7 kB at 28 kB/s)
[INFO] Downloading from releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml
[INFO] Downloaded from releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml (298 B at 530 B/s)
[INFO] Uploading to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml
[INFO] Uploaded to releaseRepo: http://127.0.0.1:8081/repository/maven-releases/cn/study/webservice/maven-metadata.xml (329 B at 620 B/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.499 s
[INFO] Finished at: 2019-02-22T15:04:39+08:00
[INFO] ------------------------------------------------------------------------

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章