从maven私服(nexus)下载jar包的两种方式

从maven私服(nexus)下载jar包有两种方式:

  • 通过添加maven配置的pom文件来下载;
  • 通过每个jar包对应的http地址来下载;

方式一(通过pom文件来下载)

这种方式很常见,也就是我们在开发maven项目时常用的方式。
在pom文件中的<dependency></dependency>标签中,添加需要的maven依赖,然后重新import项目的依赖即可。这里不再详述。

项目的依赖可以再nexus中找到,如图:
nexus中jar包的maven依赖


方式二(通过jar包的http地址来下载)

然而,又是我们我是简单的想下载这个jar包,是一个动态的过程。而不像方式一中那样在项目启动时,就已经importpom文件中的所有依赖了。我们该怎么做呢?

幸运的是,nexus提供了jar包的“统一资源定位符”,每一个jar包(无论是releases版本还是snapshots版本)都有一个唯一的url,我们可以通过这个url,在需要的时候动态的来下载这个jar包。如图:(企业内部资源,屏蔽了敏感信息)
nexus中jar包的唯一资源标识

通过上图可以看到,每一个jar包都有一个唯一的资源标识。通过这个唯一的资源标识,我们就能下载指定的jar包了。

但是需要注意的是:nexus中给出的url是一个相对地址,我们想要正确下载这个jar包,我们需要拼接上nexus的base地址。我们举例来看一下(以公司私服为例):
jar包url详解1
上图中,展示的资源标识是一个相对地址,通过这个标识我们并不能下载到对应的jar包。

注意:在相对地址中,都有如下的规则:/xxx/yyy/a/b/a-b.jar
其中a是jar包的 Artifact,b是jar包的Version, 最终的jar包名为:a-b.jar

接着,我们对这个相对地址 “右键”–“复制链接地址”,我们就得到了完整的url(可以正确下载jar包)。
假设相对地址为:

/xxx/yyy/billing-client/1.1.2/billing-client-1.1.2.jar

复制的链接地址为:

http://maven.company.cn/nexus/service/local/repositories/releases/content/xxx/yyy/billing-client/1.1.2/billing-client-1.1.2.jar

细心的人可能会发现,这个完整的url中,有一段为/releases。没错,这个就是代表这个jar包是releases版本。我们再来看一下snapshots版本的jar包。

假设相对地址为:

/xxx/yyy/billing-client/1.4.1-SNAPSHOT/billing-client-1.4.1-20171212.112253-24.jar

注意:
这里不再遵守/xxx/yyy/a/b/a-b.jar的规则,而是/xxx/yyy/a/b/a-b(去掉-snapshot)-timestamp.randomNumber.jar

复制的链接地址为:

http://maven.company.cn/nexus/service/local/repositories/snapshots/content/xxx/yyy/billing-client/1.4.1-SNAPSHOT/billing-client-1.4.1-20171212.112253-24.jar

再来看,这个完整的url中包含的是/snapshots,即快照版本。

那么前面的/nexus/service/local/repositories/releases/content/nexus/service/local/repositories/snapshots/content是什么呢?这是我们搭建nexus私服时,指定的releassessnapshots版本jar包的存放路径,不同的私服可能不同,视具体maven服务器而定。我这里称之为“base路径”

因此,我们要是想通过http来下载jar包,则可以通过 base路径+相对路径来下载。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值