利用 Gitlab 搭建 Maven仓库

如果公司服务器资源充足,采用Nexus 搭建一个Maven库。这样整个Maven库的管理会更合理和有效一些。

前言

打算利用公司已有的Gitlab代码管理库。实现maven仓库的搭建。

PS:如果公司服务器资源充足,采用Nexus 搭建一个Maven库。这样整个Maven库的管理会更合理和有效一些。

目标

结束aar和jar文件乱发的历史,使用implementation 引用。

如果在Glilab将项目配置为公共public权限。那么外部其他客户也可以使用maven仓库了。

实现步骤

1、打包配置

Android Studio 环境版本

Android Studio 4.2.1
build:gradle:4.2.1

将需要打包成jar或者aar的项目配置maven 脚本

新建一个:gitlab.gradle文件 和项目build.gradle同一级目录下创建。

并添加下面代码:

apply plugin: 'maven'

uploadArchives {
    repositories.mavenDeployer {
        def mavenDirPath = file('../maven') //  相对地址。 编译后的代码将会存在父目录的maven文件夹下。
        def mavenDirPath =  file('D:\\appmaven')  //绝对路径,编译后的代码将会存在 D盘的appmaven文件夹下。
        repository(url: "file://${mavenDirPath.absolutePath}")
        pom.project {
            groupId "cn.zinyan.demo" // 包名
            artifactId "Key" // module的名字
            version '1.1.1'// 版本号
            //配置完毕后,包名决定地址中的 第一项,artifactId 决定了第二项,version 决定了第三项版本号
            //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'  //老版本写法, 现在已经过期了。建议使用下面的
    archiveClassifier.set('javadoc')
    from javadocs.destinationDir
}
//生成sources
task sourcesJar(type: Jar) {
    //     classifier='sources'//老版本写法, 现在已经过期了。建议使用下面的
    archiveClassifier.set('sources')
    from sourceDirs
}

artifacts {
    archives javadocsJar
    archives sourcesJar
}

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

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

然后我们可以在右侧的Gradle面板的Tasks->upload->uploadArchives 指令

点击执行该指令,就可以在本地生成相应编译后的代码了。

上面的指令直接支持:aar库和jar库的编译。 系统会根据你的lib的类型。自动打相应的文件。

2、上传代码

直接通过gi将执行编译后的全部aar,和jar等数据上传就可以了。

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

3、使用gitlab库的maven

(1)maven是公共的

如果你的GitLab上的maven仓库项目是公共的。那么maven 就是公共的

其他人调用,只需要该maven库的地址即可

allprojects {
    repositories {
        maven {
            url "https://你的仓库的地址+直接到项目名/分支/"
        }
}

如果该项目是你自己的。而不是组里面的。那么Group名称就得换成你的用户名了。

有一个很简单的方法。

访问你的gitLab库,打开我们提交的一个xml文件。例如pop.xml文件。

在浏览器中,从https开始一直到你的包名称截止,这一段地址就是我们需要配置到maven上的url地址。后面的包名路径,IDEA会自动帮我们补上并更新了
(2)maven是私有的

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

需要在maven 地址导入的位置,添加相应的访问账号和Token了。

可以参考文章 利用Gitlab仓库搭建私有Maven仓库 - 知乎 (zhihu.com)

4、使用gitee库的样例

例如我在gitee上搭建的一个简单的maven仓库。

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建自己的 Maven 仓库,你可以按照以下步骤进行操作: 1. 安装和配置 Maven:首先,确保你已经正确安装了 Maven,并将其配置为可以在命令行中使用。 2. 准备仓库目录:选择一个适当的目录来存储你的仓库文件。例如,你可以在你的服务器上创建一个名为 "maven-repo" 的目录。 3. 配置 Maven 仓库:在 Maven 的配置文件 "settings.xml" 中进行配置。该文件通常位于 Maven 的安装目录下的 "conf" 文件夹中。在 "settings.xml" 文件中,你需要添加一个 "repositories" 部分来指定你的自定义仓库。以下是一个示例: ```xml <settings> ... <mirrors> ... </mirrors> <profiles> ... </profiles> <activeProfiles> ... </activeProfiles> <servers> ... </servers> <localRepository>/path/to/your/repo</localRepository> <mirrors> ... </mirrors> <profiles> ... </profiles> <activeProfiles> ... </activeProfiles> <repositories> <repository> <id>your-repo</id> <url>file:///path/to/your/repo</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> ... </settings> ``` 确保将 "/path/to/your/repo" 替换为你的仓库目录的实际路径。 4. 部署到仓库:要将 Maven 项目部署到你的自定义仓库中,你需要在项目的 "pom.xml" 文件中进行配置。在 "pom.xml" 文件中,添加以下内容: ```xml <distributionManagement> <repository> <id>your-repo</id> <name>Your Repository</name> <url>file:///path/to/your/repo</url> </repository> </distributionManagement> ``` 确保将 "/path/to/your/repo" 替换为你的仓库目录的实际路径。 5. 部署项目:现在,你可以使用 Maven 的命令行工具将项目部署到你的自定义仓库中。在项目根目录下运行以下命令: ``` mvn deploy ``` 这将构建并部署项目到你的自定义仓库中。 现在,你已经成功搭建了自己的 Maven 仓库。其他开发人员可以通过配置他们的 Maven 项目来使用你的仓库中的依赖项。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值