自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇帶你利用 Gitlab 搭建 Maven倉庫

開源
如果公司服務(wù)器資源充足,采用Nexus 搭建一個(gè)Maven庫。這樣整個(gè)Maven庫的管理會(huì)更合理和有效一些。

前言

打算利用公司已有的Gitlab代碼管理庫。實(shí)現(xiàn)maven倉庫的搭建。

PS:如果公司服務(wù)器資源充足,采用Nexus 搭建一個(gè)Maven庫。這樣整個(gè)Maven庫的管理會(huì)更合理和有效一些。

目標(biāo)

結(jié)束aar和jar文件亂發(fā)的歷史,使用implementation 引用。

如果在Glilab將項(xiàng)目配置為公共public權(quán)限。那么外部其他客戶也可以使用maven倉庫了。

實(shí)現(xiàn)步驟

1、打包配置

Android Studio 環(huán)境版本

Android Studio 4.2.1
build:gradle:4.2.1

將需要打包成jar或者aar的項(xiàng)目配置maven 腳本。

新建一個(gè):gitlab.gradle文件 和項(xiàng)目build.gradle同一級(jí)目錄下創(chuàng)建。

并添加下面代碼:

apply plugin: 'maven'

uploadArchives {
repositories.mavenDeployer {
def mavenDirPath = file('../maven') // 相對(duì)地址。 編譯后的代碼將會(huì)存在父目錄的maven文件夾下。
def mavenDirPath = file('D:\\appmaven') //絕對(duì)路徑,編譯后的代碼將會(huì)存在 D盤的appmaven文件夾下。
repository(url: "file://${mavenDirPath.absolutePath}")
pom.project {
groupId "cn.zinyan.demo" // 包名
artifactId "Key" // module的名字
version '1.1.1'// 版本號(hào)
//配置完畢后,包名決定地址中的 第一項(xiàng),artifactId 決定了第二項(xiàng),version 決定了第三項(xiàng)版本號(hào)
//implementation 'cn.zinyan.demo:Key:1.1.1'
}
}
}

// 如果不想生成 javadoc.jar 和 sources.jar 庫以下代碼可以省略
def sourceDirs
if (project.hasProperty("android")) {
sourceDirs = android.sourceSets.main.java.srcDirs
}else {
sourceDirs = sourceSets.main.java.srcDirs
}

task javadocs(type: Javadoc) {
source = sourceDirs
}
//生成doc
task javadocsJar(type: Jar) {

// classifier='javadoc' //老版本寫法, 現(xiàn)在已經(jīng)過期了。建議使用下面的
archiveClassifier.set('javadoc')
from javadocs.destinationDir
}
//生成sources
task sourcesJar(type: Jar) {
// classifier='sources'//老版本寫法, 現(xiàn)在已經(jīng)過期了。建議使用下面的
archiveClassifier.set('sources')
from sourceDirs
}

artifacts {
archives javadocsJar
archives sourcesJar
}

build.gradle 文件中引用gitlab.gradle 文件。

添加方式:apply from: 'gitlab.gradle'

然后我們可以在右側(cè)的Gradle面板的Tasks->upload->uploadArchives 指令

點(diǎn)擊執(zhí)行該指令,就可以在本地生成相應(yīng)編譯后的代碼了。

上面的指令直接支持:aar庫和jar庫的編譯。 系統(tǒng)會(huì)根據(jù)你的lib的類型。自動(dòng)打相應(yīng)的文件。

2、上傳代碼

直接通過gi將執(zhí)行編譯后的全部aar,和jar等數(shù)據(jù)上傳就可以了。

包括aven-metadata.xml等文件,pom等文件,javadoc等文件,sources等文件。

3、使用gitlab庫的maven

(1)maven是公共的

如果你的GitLab上的maven倉庫項(xiàng)目是公共的。那么maven 就是公共的

其他人調(diào)用,只需要該maven庫的地址即可

allprojects {
repositories {
maven {
url "https://你的倉庫的地址+直接到項(xiàng)目名/分支/"
}
}

這個(gè)url鏈接:gitlab 上通常情況下 。

公共項(xiàng)目的路徑是這樣的 ??https://域名地址/Group名稱/項(xiàng)目名/-/raw/分支名/。??

如果該項(xiàng)目是你自己的。而不是組里面的。那么Group名稱就得換成你的用戶名了。

有一個(gè)很簡單的方法。

訪問你的gitLab庫,打開我們提交的一個(gè)xml文件。例如pop.xml文件。

在瀏覽器中,從https開始一直到你的包名稱截止,這一段地址就是我們需要配置到maven上的url地址。后面的包名路徑,IDEA會(huì)自動(dòng)幫我們補(bǔ)上并更新了

(2)maven是私有的

如果你的GitLab 是私有的。只想部分人可以使用。

需要在maven 地址導(dǎo)入的位置,添加相應(yīng)的訪問賬號(hào)和Token了。

可以參考文章 利用Gitlab倉庫搭建私有Maven倉庫 - 知乎 (zhihu.com)

4、使用gitee庫的樣例

例如我在gitee上搭建的一個(gè)簡單的maven倉庫。

allprojects {
repositories {
maven{
url 'https://gitee.com/zinyan/maven/raw/master/'
}

implementation 'com.zinyan.util:general:1.0.0'
責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2021-05-20 06:57:16

RabbitMQ開源消息

2023-04-20 08:00:00

ES搜索引擎MySQL

2021-06-16 08:28:25

unary 方法函數(shù)技術(shù)

2021-05-12 06:18:19

KubeBuilderOperatork8s

2022-03-10 08:31:51

REST接口規(guī)范設(shè)計(jì)Restful架構(gòu)

2021-05-18 05:40:27

kubebuilderwebhook進(jìn)階

2025-01-17 07:00:00

2022-02-24 07:56:42

開發(fā)Viteesbuild

2021-05-17 05:51:31

KubeBuilderOperator測試

2022-02-21 09:44:45

Git開源分布式

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺(tái)

2021-07-28 10:02:54

建造者模式代碼

2022-04-08 08:32:40

mobx狀態(tài)管理庫redux

2021-07-14 08:24:23

TCPIP 通信協(xié)議

2021-05-16 10:52:58

kubebuilderstatus event

2021-08-11 07:02:21

npm包管理器工具

2020-11-27 08:02:41

Promise

2021-08-02 06:34:55

Redis刪除策略開源

2021-11-08 08:42:44

CentOS Supervisor運(yùn)維
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)