搭建自己的Maven库

Posted dx我是大雄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建自己的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就是这么简单,但是具体细节待摸索


以上是关于搭建自己的Maven库的主要内容,如果未能解决你的问题,请参考以下文章

nexus搭建maven私有服务器

搭建Maven私服(使用Nexus)

搭建Maven私服(使用Nexus)

基础架构之Maven私有库

在 Docker 搭建 Maven 私有库

Maven配置私有库