【Maven学习】如何上传jar包至Maven私服,让Android项目可以支持Maven库在线依赖的方式来使用jar包

一、本地依赖方式

由于要使用第三方jar包。而第三方给的SDK是jar包,并没有上传到Maven库,因此不支持Maven库在线依赖,所以需要如下所示的,在项目中手动集成jar包。

在这里插入图片描述

然后在build.gradle中 导入刚才的libs目录

在这里插入图片描述

dependencies {
    api fileTree(include: ['*.jar'], dir: 'libs')
}

这种方式本人不喜欢,因为习惯了使用Maven在线依赖的方式,因此想把这些jar包上传到Maven私服上,然后通过Maven在线依赖的方式来使用这些第三方jar包。

二、将jar包上传到Maven私服

2.1 登录Maven私服并打开【3rd party】这个Respsitory

  1. 打开内部搭建的Maven私服,比如我们内部的Maven私服网站为 http://xxx.xxxx.com:8081/nexus/
    在这里插入图片描述

2、点击右上角的【LogIn】按钮,进行登录
在这里插入图片描述
3、登陆之后点击左侧列表中的【views/respsitories】–>【Respsitories】 显示出所有的Respositories,然后以后点击【3rd party】。
因为我们要上传的是第三方的jar包,所以就放在【3rd party】这个Respsitory里面比较合适
在这里插入图片描述

点击【Browse Storage】可以看到所有已经上传到这个【3rd party】这个Respsitory里面jar包或者aar包

在这里插入图片描述

2.2 在【3rd party】这个Respsitory中上传第三方的jar包

  • 点击【Artifact Upload】面板,进行上传jar包操作
    在这里插入图片描述
    填写要上传的jar包的相关信息,如下所示:

在这里插入图片描述

2.2.1 填写【Select GAV Definition Source】

这一步主要是填写,我们上传jar包之后的一些产物在Maven中的属性,比如groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。

  • 参数【GAV Definition】
    第一个参数【GAV Definition】可以选择【GAV Parameters】和【From POM】两种方式,我们选择【GAV Parameters】
    在这里插入图片描述

如果选择【From POM】的方式,界面如下

在这里插入图片描述

  • 参数【Group】
    groupId 是(Maven)项目的唯一标识。Group ID必须满足 Java包名规范 ,这意味着是形如:org.apache.maven,org.apache.commons的格式。Maven不强制此规范,很多遗留的旧项目使用单个单词作为group ID。但是,很难用单个单词作为(新项目的)group ID,并将其提交到Maven中央仓库中。
    你可以创建任意数量的子分组。一种比较好的来划分groupId的颗粒度的方式是使用项目结构(package structure)。这是指,如果当前项目是一个多模块(module)的项目,可以通过在父groupId的基础上增加后缀的形式来定义,例如:

org.apache.maven,
org.apache.maven.plugins,
org.apache.maven.reporting

  • 参数【Artifact】
    artifact 是不带版本号的jar的名字,唯一要求是使用小写字母,且没有特殊符号。如果这是一个第三方的jar包,必须使用其被发布的包名。

例如:maven,commons-math

  • 参数【Version】

version 如果要发布,可以选择典型的数字和点号组成的版本号(1.0,1.1,1.0.1…)不要使用日期,因为它们通常和SNAPSHOT版本号联系在一起。如果是一个第三方的artifact,你必须使用它提供的版本号,无论这些版本号看起来多么奇怪,比如:2.0,2.0.1,1.3.1


我们这边上传的如下所示

在这里插入图片描述
那么我们如果上传成功的话,需要在Android 项目中的build.gradle中引用的话,用下面的形式
在这里插入图片描述

dependencies {
    api 'com.umeng.analytics:analytics-overseas:7.5.4'
}
  • 参数【Packaging】
    packaging【可选的,默认为jar】:
    当不定义packaging时,maven会使用默认值jar。

在这里插入图片描述

2.2.2 填写【Select Artifact(s) for Upload】

1、点击【Select Artifact(s) to Upload】按钮,选择需要上传的jar包。
在这里插入图片描述
2、点击【Add Artifact】按钮
点击【Add Artifact】按钮,自动生成下面的artifacts内容,上面的三个框空白了。
在这里插入图片描述
3、点击【Upload Artifact(s)】按钮,上传成功,如下所示
在这里插入图片描述

4.上传之后 点击【Browse Storage】面板,然后点击下【Refresh】按钮刷新下,就可以查看上传好的jar包
在这里插入图片描述

顺便将另外的一个jar包也上传上去,上传好后,如下所示

在这里插入图片描述

三、Maven在线依赖方式

刚刚我们已经将两个jar包上传了,现在可以直接在线依赖它们了。
在这里插入图片描述
在这里插入图片描述

dependencies {
   //api fileTree(include: ['*.jar'], dir: 'libs')
    api 'com.umeng.analytics:analytics-overseas:7.5.4'
    api 'com.umeng.sdk:common-overseas:1.5.4'
}

在这里插入图片描述

sync完毕之后,查看【External Libraies】里面就有刚刚Maven在线依赖引入的两个jar包
在这里插入图片描述

这样就方便多了!

四、参考资料

  • https://ouyangpeng.blog.csdn.net/article/details/78804637
  • https://ouyangpeng.blog.csdn.net/article/details/56872556
  • https://blog.csdn.net/qq_31459039/article/details/81361496

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:https://blog.csdn.net/qq446282412/article/details/90482592
☞ 本人QQ: 3024665621
☞ QQ交流群: 123133153
☞ github.com/ouyangpeng
[email protected]


发布了469 篇原创文章 · 获赞 1467 · 访问量 359万+

猜你喜欢

转载自blog.csdn.net/qq446282412/article/details/90482592
今日推荐