博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于nexus的maven私服配置
阅读量:7079 次
发布时间:2019-06-28

本文共 4123 字,大约阅读时间需要 13 分钟。

  hot3.png

在maven项目的开发中,因为maven官方库资源下载慢的原因,一般我们都会选择搭建一个私服,一般都会选择nexus作为私服,但是nexus安装完以后,只是完成了私服的第一步,还需要第二步,即配置私服,在实际项目中使用,这儿主要讲解第二部。

这部分主要分了两个部分,第一部分为下载库,第二部分为上传库,即当有一些包我们不能冲maven库中下载的时候,就需要我们将这些包上传到私服供他人使用。

1、配置下载库

配置下载库有两种方式:

第一种是直接在pom文件中配置,直接使用,具体代码如下:

central
http://192.168.10.112:9037/nexus/content/repositories/central/
true
true
central
http://192.168.10.112:9037/nexus/content/repositories/central/
true
true

直接在pom中配置有一个缺点,该配置值针对当前项目有效,如果新开一个项目,还需要重新配置,因此衍生出第二种方式。

第二种是在maven配置文件setting.xml中进行配置,具体代码如下:

nexus
central
Nexus
http://192.168.10.112:9037/nexus/content/repositories/central/
true
never
fail
true
never
fail
central
Nexus
http://192.168.10.112:9037/nexus/content/repositories/central/
true
never
fail
true
never
fail

有了上面的配置以后,在项目的pom中也不会直接调用,还需要我们在setting配置文件中激活对应的profile,代码如下:

< activeProfiles>     < activeProfile>nexus< /activeProfiles>

这样,即使我们不在pom中做任何配置,项目默认也会到setting这个配置的仓库里面去搜索包,注意:如果pom中也有一个仓库配置,但是pom中的配置的id和profile中的id重复,setting配置文件中的配置会覆盖pom中的配置。

上面的配置完成以后,我们可能还会发现一个奇怪的现象,就是maven既在从nexus下载,也在从maven中央库下载。这是因为在超级pom中还有一个定义id为central的仓库,如果这个仓库的id没有被我们覆盖,那maven就可以从中央库下载包,所以在此我们有两种解决办法,第一种就是我们自己写的配置的id为central,这样我们就可以覆盖超级pom里面的仓库配置了;还有一种解决办法就是在setting配置文件中配置一个镜像,然后在镜像中包含我们所需要的仓库,这样所有的搜索仓库的请求都会通过镜像搜索,这样其实上面所配置的url就已经失效了,但是关于快照版本和发布版本的更新还是有作用的,具体代码如下:

nexus
internal nexus repository
这个url是nexus中的一个group,包含了central,和我们自己需要的仓库的一个组
http://192.168.10.112:9037/nexus/content/groups/public/
*

2、配置部署(上传)库:

部署库主要针对多人开发时,有一部分包在远程仓库中找不到,但是我们的项目开发又需要,这是我们就可以把这部分包上传到我们的私服的仓库,然后供其他人使用。配置部署库也有两种方法:

第一种方法是使用maven部署到私服上的仓库,首先需要在pom里面进行配置,具体代码如下:

releases
Nexus Release Repository
http://192.168.10.112:9037/nexus/content/repositories/releases/
snapshots
nexus distribution snapshot repository
http://192.168.10.112:9037/nexus/content/repositories/snapshots/

然后在setting.xml配置文件做如下配置:

snapshots
deployment
password
releases
deployment
password

第二种方法:在nexus界面手动部署,具体操作如下

154842_k6JQ_2473866.png

155123_7Ql9_2473866.png

1、进入nexus操作界面,点击repositories,这儿以操作第三方库的形式展示

2、选择3rd party

3、点击artifict upload,进入编辑界面

4、GAV有两种形式:GAV Parameters——用户上传单独的包,From POM——用于上传有依赖包的情况,我们这儿选择的是GAV Parameters

5、auto guess打勾,然后输入包的groupid,artifictid,version,包类型选择jar

6、点击select artifict(s) to upload按钮,选择自己要上传的jar

7、点击add artifict

8、点击upload artifict

然后等待上传成功,最后我们就可以在browse index 下看到我们上传的jar,也可以在右侧看到对应的包信息,使用右侧的信息就可以把包下载到我们的项目中,上传需要依赖包的包的时候,所需要的所有信息都在pom中进行配置,所以只需要上传jar和pom就行了。

155215_g3D8_2473866.png

 

转载于:https://my.oschina.net/jiaoy/blog/734669

你可能感兴趣的文章
Javascript基础 错误调试
查看>>
Java实现定时任务的三种方法
查看>>
又见日志-从日志中的思考
查看>>
maven dependency
查看>>
C++与R交互(RInside)
查看>>
CISCO CCNP交换考试中的一道拖图题
查看>>
第一个python实例
查看>>
算法导论-快速排序
查看>>
nfs实验文档
查看>>
dwr框架异步调用简单小例
查看>>
httpclient中使用HTTPS的方法
查看>>
判断一棵二叉树是否为平衡二叉树
查看>>
springboot实现restful
查看>>
Python通过JSON-RPC请求对以太坊智能合约进行部署和交易
查看>>
MySQL8.0新特性
查看>>
打开android手机照相机
查看>>
电子商务和政府网站用户资料泄漏
查看>>
apk反编译
查看>>
Android内存泄漏分析实战
查看>>
排序算法
查看>>