搭建maven,上传kotlin代码及代码注释

1.下载服maven务器工具:Nexus Repository Manager 3
下载地址:https://help.sonatype.com/repomanager3/download。根据自己系统平台下载相应的版本即可。(感谢这位老哥:https://www.cnblogs.com/seve/p/10982603.html)
[图片上传失败...(image-ca457a-1612336142704)]

2.解压后,如我下载的windows版,到目录"你的下载文件的存放目录"\nexus-3.29.2-02-win64\nexus-3.29.2-02\bin下执行
"nexus.exe /run"命令,如果出现错误,检查一下解压的目录是否有中文,因为不能有中文,笔者就遇到过,具体错误提示内容忘记了。
等待几分钟, 输出Started Sonatype Nexus OSS 3.29.2-02,说明服务搭建成功了。

3.访问http://localhost:8081/,开始的用户名是admin,密码会在弹出框中提示一个本地文件的目录,打开即可,按照提示完成登录和密码修改。

4.然后就是配置具体想创建的项目仓库的信息。感谢这里这位老哥的介绍很清楚,笔者也是完全参照他的介绍来操作的:
https://juejin.cn/post/6850418107882831880
总结起来一共有以下几步:

  • 在gradle.properties中配置自己的用户名,地址,项目信息等,如:


    p1.jpg
  • 在要上传的项目中创建一个gradle文件用来处理代码的上传等事情,如这里新建一个voice_update.gradle文件,内容如下:

apply plugin: 'maven'
apply plugin: 'signing'

configurations {
  deployerJars
}

repositories {
  mavenCentral()
}

// 判断版本是Release or Snapshots
def isReleaseBuild() {
  return !PROJ_VERSION.contains("SNAPSHOT");
}

// 获取仓库url
def getRepositoryUrl() {
  return isReleaseBuild() ? MAVEN_REPO_RELEASE_URL : MAVEN_REPO_SNAPSHOT_URL
}

uploadArchives {
  repositories {
      mavenDeployer {
          beforeDeployment {
              MavenDeployment deployment -> signing.signPom(deployment)
          }

          pom.version = PROJ_VERSION
          pom.artifactId = PROJ_ARTIFACTID
          pom.groupId = PROJ_GROUP_ID

          repository(url: getRepositoryUrl()) {
              authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) // maven授权信息
          }
      }
  }
}

// 进行数字签名
signing {
  // 当 发布版本 & 存在"uploadArchives"任务时,才执行
  required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
  sign configurations.archives
}

//上传源码
task androidSourcesJar(type: Jar) {
  classifier = 'sources'
  from android.sourceSets.main.java.srcDirs//android.sourceSets.main.java.getSrcDirs()
}

artifacts {
  archives androidSourcesJar
}
  • 在项目的build.gradle头部加上
apply from: 'voice_update.gradle'
  • 在gradle中执行voice_update.gradle中的uploadArchives,即可完成上传,成功后在nexus服务器的后台可以看到。
    p2.jpg
  • 在需要引入代码的地方:
    配置仓库地址


    p3.jpg

    加入gradle依赖:


    p4.jpg

5.安装以上步骤,即可顺利完成自己项目上传至自己maven服务器。值得注意的是,如果要其他人下载自己上传的代码,记得将连接中的localhost改成自己的ip地址。

6.采用这种方式将代码共享给其他人的好处是:

  • 更新方便,其他人直接在gradle中用implementation的方式依赖
  • 如果自己上传的kotlin的aar,使用的人还可以看到代码和注释(因为kotlin直接本地打包成aar导入到其他项目后是看不到代码和注释的)。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容