• maven私服搭建


    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在我们创建好的各个模块中的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}",
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

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

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

    在子工程中使用:

    compileSdkVersion rootProject.android.compileSdkVersion
    
    • 1
        //eventbus类库依赖
        implementation rootProject.depsLibs.eventbus
    
    • 1
    • 2
  • 相关阅读:
    APISix如何配置gzip压缩、cache、跨域
    前端入门:HTML(列表和边框案例)
    Ubuntu系统之管理文件权限一
    本博主二哈喇子!特此声明
    burp+IE 微信小程序抓包教程
    【VM-Tools】Linux快速安装
    【被面试官吊打系列】啥,你没说面试要考智力题呀 (上) ?
    Redis——听说你速度跟甲斗一样快?(上)
    【C语言刷LeetCode】1962. 最大宽度坡(M)
    【iptables 实战】07 iptables NAT实验
  • 原文地址:https://blog.csdn.net/Lbsssss/article/details/126815444