搭建本地maven库(nexus服务器)

2019-09-26 15:35:25 浏览数 (1)

第一步,下载https://www.sonatype.com/download-oss-sonatype 别下3.x版本,下2.x版本

第二步,解压,在bin目录下执行cmd命令,nexus install然后nexus start

第三步,查看http://localhost:8081/nexus/#welcome 初始账号密码是admin/admin123

如图就是本地maven库

从本地上传aar文件

结果

gradle引用

代码语言:javascript复制
repositories {
    mavenLocal
    mavenCentral()
    maven { url "http://127.0.0.1:8081/nexus/content/groups/public"}
}

baiduCompile 'com.jinkejoy.aar.lib_ads:baidu:1.0.0'

如果加了mavenLocal,就会默认首先从本地的maven缓存中去取,如果版本一样的话,所以最好每更新一次文件,就升一个版本

如果maven库是远程地址,依赖时要在连接后面增加@aar

代码语言:javascript复制
baiduCompile 'com.jinkejoy.aar.lib_ads:baidu:1.0.0@aar'

现在不加@aar也可以了

gradle上传本地文件到远程maven库

自定义aar-upload.gradle文件

代码语言:javascript复制
artifacts {
    archives file('./build/outputs/aar/Lib_ads-baidu-debug.aar')
}

uploadArchives {
    repositories {
        mavenDeployer {
            print "------------------uploadArchives"
            //本地maven
            repository(url: 'http://127.0.0.1:8081/nexus/content/repositories/thirdparty') {
                authentication(userName: 'admin', password: 'admin123')
                pom.project {
                    groupId 'ads'
                    artifactId 'lib-ads-ad360'
                    version '1.0.2'
                    packaging 'aar'
                }
            }
        }
    }
}

buile.gradle引用添加

代码语言:javascript复制
apply plugin: 'maven'
apply from: './你自己定义的文件名.gradle'

repositories{
     maven { url "http://172.0.0.1:8081/nexus/content/repositories/thirdparty/" }  
}

脚本大家在网上都搜的到,坑爹的是有些东西说的很不清楚。

仓库分四种类型:group仓库组、hosted本地仓库、proxy代理仓库、virtual虚拟仓库

本地上传的话,只能传到hosted仓库,所以gradle脚本只能写

http://127.0.0.1:8081/nexus/content/repositories/thirdparty

其他路径都是错误的,切记!!!这破问题搞了我两天时间

参考博客:http://www.javatang.com/archives/2010/01/23/4518375.html

0 人点赞