maven私服搭建

本文介绍了如何搭建和使用Maven私服Nexus,包括启动Nexus、创建仓库以及配置Gradle以接入私服。同时,讲解了gradle.properties文件的用途和工程结构优化,展示了如何在Gradle脚本中管理依赖并上传到私服。
摘要由CSDN通过智能技术生成

maven库介绍

在这里插入图片描述

maven私服优势

在这里插入图片描述

maven私服搭建

启动nexus

使用命令行cd到nexus文件夹的bin目录下
在这里插入图片描述
使用nexus /run 命令启动,直到出现下图才算启动完成
在这里插入图片描述

登录nexus

初次启动之后,你可以在浏览器上访问nexus这个maven管理器。地址:http://localhost:8081/
当然,你可以使用默认的用户登录。用户名:admin 密码:admin123
在这里插入图片描述
不过我在尝试使用默认密码时,显示密码错误,提示密码被保存在sonatype-work\nexus3下,有个password的文件,用记事本打开就可以看到密码:
在这里插入图片描述
点击Browse可以看到默认的仓库:
在这里插入图片描述
maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。

创建仓库

点击工具栏的第二个
在这里插入图片描述
然后可以看到第一栏就是仓库Repositories,可以点击create Repository来创建仓库
在这里插入图片描述
点击create Repository完后会显示你要创建的仓库类型
在这里插入图片描述
这里我选择maven2(hosted)类型进行创建,输入name,选择version policy ,选择是快照版本还是发布版本

在这里插入图片描述
创建完毕后再回到respositories就可以看到刚刚创建的maven仓库。

maven私服接入

在Build.gradle的buildscript 下接入maven私服,在allprojects也要设置。

        maven {
            allowInsecureProtocol = true
            url 'http://localhost:8081/repository/..../'
            credentials {
                username 'admin'
                password 
            }
        }
        maven {
            allowInsecureProtocol = true
            url 'http://localhost:8081/repository/..../'
            credentials {
                username 'admin'
                password 
            }
        }

1、buildscript是gradle脚本执行需要的依赖,分别是对应的maven库和插件

2、allprojects里是项目本身需要的依赖, 比如我们平时用到的第三库用到了自己的maven库,就需要在这引入。

配置gradle.properties

什么是gradle.properties?

在Android中,
1.在使用Android Studio新建Android项目之后,在项目根目录下会默认生成一个gradle.properties文件,它是由IDE自动生成的gradle.properties文件。
2.他是项目级别的Gradle配置文件,gradle.properties里面定义的属性是全局的,可以在各个模块的build.gradle里面直接引用.我们可以在里面做一些Gradle文件的全局性的配置,也可以将比较私密的信息放在里面,防止泄露。
例如:

NEXUS_REPOSITORY_URL=http://localhost:8081/repository/.../
POM_GROUPID=com...android
POM_PACKAGING=aar
NEXUS_USERNAME=admin
NEXUS_PASSWORD=22af8390-e83e-4963-b09a-7ece4b381312

在我们创建好的各个模块中的build.gradle引入maven插件:
在这里插入图片描述
配置uploadArchives:
Archives:档案
deployer:部署
在这里插入图片描述
在这里插入图片描述

工程结构优化

创建一个gradle来扩展属性

ext {
    android = [compileSdkVersion: 29,
               buildToolsVersion: "29.0.0",
               minSdkVersion    : 19,
               targetSdkVersion : 29,
               applicationId    : 'com.imooc.imooc_voice',
               versionCode      : 2,
               versionName      : '1.1',
               multiDexEnabled  : true,]
    depsVersion = [appcompact     : '29.0.0',
                   design         : '29.0.0',
                   recyclerview   : '29.0.0',
                   constraint     : '1.1.3',
                   eventbus       : '3.1.1',
                   greendao       : '3.2.2',
                   rxjava         : '2.2.9',
                   rxandroid      : '2.1.1',
                   arouterapi     : '1.5.0',
                   aroutercompiler: '1.2.2',
                   magicindicator : '1.5.0',
                   glide          : '4.9.0',
                   glidecompiler  : '4.9.0',
                   okhttp         : '3.3.0',
                   gson           : '2.8.0',
    ]

    depsLibs = [appcompact     : 'androidx.appcompat:appcompat:1.0.0',
                design         : 'com.google.android.material:material:1.0.0',
                recyclerview   : 'androidx.recyclerview:recyclerview:1.0.0',
                constraint     : 'androidx.constraintlayout:constraintlayout:1.1.3',
                eventbus       : "org.greenrobot:eventbus:${depsVersion.eventbus}",
                greendao       : "org.greenrobot:greendao:${depsVersion.greendao}",
                rxjava         : "io.reactivex.rxjava2:rxjava:${depsVersion.rxjava}",
                rxandroid      : "io.reactivex.rxjava2:rxandroid:${depsVersion.rxandroid}",
                arouterapi     : "com.alibaba:arouter-api:${depsVersion.arouterapi}",
                aroutercompiler: "com.alibaba:arouter-compiler:${depsVersion.aroutercompiler}",
                magicindicator : "com.github.hackware1993:MagicIndicator:${depsVersion.magicindicator}",
                glide          : "com.github.bumptech.glide:glide:${depsVersion.glide}",
                glidecompiler  : "com.github.bumptech.glide:compiler:${depsVersion.glidecompiler}",
                okhttp         : "com.squareup.okhttp3:okhttp:${depsVersion.okhttp}",
                gson           : "com.google.code.gson:gson:${depsVersion.gson}",
    ]
}

在根工程的Build.gradle文件中引入:

//引入根工程下的统一版本管理文件
apply from: this.rootProject.file('....gradle')

在子工程中使用:

compileSdkVersion rootProject.android.compileSdkVersion
    //eventbus类库依赖
    implementation rootProject.depsLibs.eventbus
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gujunhe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值