搭建自己的Maven库

一.背景

最近在搞Gradle,然后看到搭建自己的Maven库,所以试试,搭建maven库需要使用Nexus Repository

去这个网站下载https://www.sonatype.com/download-oss-sonatype ,但是注意了要下载这个,因为这个才支持Maven(页面有写的)

二.安装

1.进入这个文件运行install-nexus.bat

2.然后进入下面这个页面运行nexus start

3.在网页中打开nexus repository

在浏览器中输入http://localhost:8081/nexus/#welcome

3.创建仓库

进去页面记得log in 初始账号:admin 初始密码:admin123

开始创建仓库

add -> hosted repository

把箭头1,2填了,箭头3是选择是否可以重新部署

写完之后就可以保存

4.上传自己的包到Maven库

(1)方法一

但是这个方法我没试过,有兴趣可以试试

(2)通过代码上传

首先在Android项目中创建一个Module,然后在他的gradle中写上传代码,也许你会问为什么,因为Module是作为依赖模块存在,在gradle中是apply "app.application.libary"这样才会生成aar文件,然后才能上传

其次就是在Module的build.gradle中写代码

apply plugin: 'maven'
apply plugin: 'signing'

signing {
    required { has("release") && gradle.taskGraph.hasTask("uploadArchives") }
    sign configurations.archives
}

uploadArchives {
    configuration = configurations.archives
    repositories.mavenDeployer {
        beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
        repository(url: 'http://localhost:8081/nexus/content/repositories/JasonMavenID/') {//仓库地址
            authentication(userName: "admin",//用户名
                    password: "admin123")//密码
        }

        pom.project {
            name 'JasonMaven'
            packaging 'aar'
            description 'none'
            url 'http://localhost:8081/nexus/content/repositories/JasonMavenID/'//仓库地址
            groupId "com.daxiong" //groupId:artifactId:version
            artifactId "Jason" //LibA
            version "1.0"
        }
    }
}

然后在terminal中运行gradlew uploadArchives,如果build success那就是上传成功了

5.引入自己Maven库

在顶端build.gradle中加入

allprojects {
    repositories {
        mavenCentral()
        maven {
            url "http://localhost:8081/nexus/content/repositories/JasonMavenID/"
        }
    }
}

这里有个问题为什么不能直接加载buildscript中的repository中????待解决,如果加了就不能正常引入

然后在dependency

中加入

compile 'com.daxiong:Jason:1.0'

然后就可以直接在项目中用这个库的方法

所以引入自己的Maven就是这么简单,但是具体细节待摸索

猜你喜欢

转载自blog.csdn.net/qq_36838191/article/details/82345618