ideal pom文件安装到maven库中_Maven必须要学会:Nexus搭建私有库

本文介绍了如何搭建私有Maven仓库Nexus,包括Maven安装、Nexus下载与配置、私有仓库创建、仓库组管理、添加与搜索jar包,以及在Maven中配置私有库的步骤。通过搭建私有仓库,可以解决中央库中缺失或自定义jar包的问题。
摘要由CSDN通过智能技术生成

引子

Maven大家都不会陌生,我们都知道maven在管理jar包依赖关系的时候,jar包都是从maven中央库完成下载的。但我们在实际使用中经常会出现一些问题,比如所需要的jar包在中央库中不存在,比如我们自定义的一些jar包无法在中央库共享,甚至有些公司会限制无法连接外部网络。为了解决这些问题,我们可以自己搭建私有的Maven仓库。

Maven安装

Maven大家都用过,所以这部分我们一带而过。

Maven的下载地址:http://maven.apache.org/download.cgi

83b75c423b2ff70244281f7a754509f2.png

下载完成之后解压,并配置环境变量:

47305751e1d5cc8e06a329336b658368.png
f999f289517aa6ea756386dee8108252.png
ce0fb194ba9457361c63546567c907d7.png

至此Maven安装完成。

Nexus安装

(1)安装

Nexus下载地址: https://www.sonatype.com/download-oss-sonatype

0d6becaf3ae12e13a06a0a9c74d5cc9c.png

下载完成之后,找到该nexusbinjsw目录,根据操作系统选择版本

4cd2cec97deb16925a36221fb7de1129.png

这里我选择的是windows-x86-64这个版本

fcd95f391bed69369a2eaf7fc50f41ab.png

选择console-nexus.bat服务

d3244e38dba2a5b02c1c80ad02200801.png

(2)配置

启动之后打开浏览器,访问http://127.0.0.1:8081/nexus/,右上角log in点击登录

默认的用户名是 admin 密码是 admin123

27ebc419301130009ca00ea272cc425a.png

登陆成功之后,选择Repositories

nexus的仓库类型分为四种:

group: 仓库组 hosted:宿主 proxy:代理 virtual:虚拟 

Repositories仓库组,包括:

PublicRepositories: 公共仓库组 3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库 Apache Snapshots: 用来代理ApacheMaven仓库快照版本的构件仓库 Central: 用来代理maven中央仓库中发布版本构件的仓库 Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库 Codehaus Snapshots: 用来代理CodehausMaven仓库的快照版本构件的仓库 Releases: 用来部署管理内部的发布版本构件的宿主类型仓库 Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库 

配置nexus

Central Repository中的proxy配置,因为大部分的构件,都是要通过这个proxy得到的 ,Download Remote Indexes这里改为true,这样nexus才会从central repository下载索引,才能在nexus中使用artifact search的功能

d91f6ff4d3484e22a353400c995df787.png

然后在Apache Snapshots、Snapshots和Central上分别右键,选择Repair Index,这样Nexus就会去下载远程的索引文件。

bd6a4b9bf6fd794611288ddcd0d54a06.png

简单测试一下是否搜索到jar包

e635235e3cb155972a4cad00c7066344.png

建立私有仓库

我们想要创建属于自己公司内部的仓库,按照如下步骤

6cefd435f5e19114032521617de485d8.png

Repository ID:仓库标识符

Repository Name:仓库名称

Allow Redeploy:允许构件重新部署

Disable Redeploy:不允许构件重新部署

Read Only:禁止构件部署到仓库中

Allow File Browsing:是否允许浏览仓库内容

Include in Search:是否对该仓库进行索引并提供搜索

Not Found Cache TTL:缓存一个不存在的信息时间为1440分钟

创建Nexus仓库组

Nexus 中仓库组的概念是Maven没有的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只会根据 groupId,artifactId,version等信息去下载jar包。为了方便Maven的配置,Nexus能够将多个仓库,hosted或者proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。

nexus中已经自带了一个名为“Public Repositories”组,点击该组可以对他保护的仓库进行调整,把刚才建立的公司内部仓库edg repostiory加入其中,这样就不需要再在maven中明确指定内部仓库的地址了。同时创建一个Group ID为public-snapshots、Group Name为Public SnapshotsRepositories的组,把Apache Snapshots、Codehaus Snapshots、Snapshots和edg repostiory加入其中。

1d8b9db9a0c2376ba4569e1da899c4a0.png

这里就已成功添加

6f1e9cfaaab2f5d49d64388493b3cd9b.png

maven库中添加jar包

6ab85080192462166fecd413700a5587.png

按照图中所示,填写信息、选择本地jar包,然后点击Add Artifact

5572a69368016c2693ee9eaf904377c4.png

最后点击Upload Artifact,完成jar包添加。

然后可以看看是否可以成功找到我们的jar包

6d2f42825ea9b918fecf2ff589ef5fd6.png

Maven配置私有库

上面私有仓库已经搭建好,剩下的是需要更改Maven中settings.xml内的索引地址

<?xml version="1.0" encoding="UTF-8"?>nexus-snapshotsadminadmin23nexusinternal nexus repositoryhttp://192.168.14.36:8081/nexus/content/repositories/edg/central

Eclipse中创建的Maven项目下的pom.xml需要修改如下

 nexusTeam Nexus Repositoryhttp://192.168.14.36:8081/nexus/content/repositories/zgc/nexusTeam Nexus Repositoryhttp://192.168.14.36:8081/nexus/content/repositories/zgc/

在Eclipse中修改maven设置

83214bf511c004fad79912553d5f2b9a.png

使用Maven私有库

从刚刚搭建好的nexus库中找到上传的jar包,复制到pom.xml文件中

95db4ac97f7b5750e9dfc1876f49f6fd.png

完成导入,没有报错,即为成功

5a655a1aa00d91933564ed4509290fa8.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值