小团队(个人)如何利用git搭建干净的maven仓库

2018-08-27  本文已影响0人  ammike

私下做项目开发时,很多时候也会拥有自己的公共库,因此需要一个便捷的maven仓库服务器,方便自己开发或者团队开发

目录:

  1. 一般的利用git搭建maven仓库都有教程
  2. 痛点解决,如何拥有一个独立的干净的本地仓库
  3. gradle工程的部署
  4. maven工程的部署
  5. 公共库的依赖添加利用

一、利用码云搭建maven仓库流程

利用码云是因为可以设为私有仓库,如果github的话,大家都能看到了。网上教程一大堆,此处不在罗列,
这篇就很好: 使用码云搭建Maven私服

二、如何拥有一个独立的干净的本地仓库

通过上节介绍,可以发现自己公共仓库想做版本控制时,首先需要去掉大量的其它第三方库缓存,上节最后给的思路是:单独做包名区分,可以解决问题,但总感觉不妥

个人的本地仓库目录为:/Users/leixun/.m2/repository,所有的maven install 和依赖库都会默认下载到这个地方,为了和自己开发的公共仓库不做混淆,因此需要建立一个独立的目录

2.1、 新建一个独立的专门用来存储公共库的目录,并上传git做版本控制

 mkdir /Users/leixun/my_maven/repository

2.2、gradle工程的部署

1、 gradle部署配置如下,然后执行该task即可发现maven仓库目录下会有相应库

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.koolearn'
            pom.artifactId = 'koolearn_media_ui'
            pom.version = android.defaultConfig.versionName
//            repository(url: "http://maven.koolearn-inc.com/nexus/content/repositories/ydcx_release") {
//                authentication(userName: "", password: "")
//            }
            repository(url: 'file:/Users/leixun/my_maven/repository')
        }
    }
}

2.3、maven工程的部署

  1. pom文件配置(本人暂未成功,但是感觉应该可以成功)
    i.pom.xml 中增加:
<distributionManagement>
        <repository>
            <id>localRepository</id>
            <url>file:D:/Workspace/Repository</url>
        </repository>
    </distributionManagement>

ii. 执行mvn deploy即可

  1. 命令行部署
    此处曾经踩吭,一定是命令行切换到相应工程modulue的有pom.xml的目录中,否则失败
mvn deploy -DaltDeploymentRepository=amleixun-mvn-reop::default::file:/Users/leixun/my_maven/repository
# amleixun-mvn-reop:为repository id
# /Users/leixun/my_maven/repository:git管理的本地maven仓库目录

2.4、仓库的添加

  1. pom中利用如下
// 码云配置 repository为根目录
<repository>
        <id>amleixun-mvn-reop</id>
        <url>https://gitee.com/leixun/repository/raw/master/</url>
    </repository>

//maven 中相应的dependend中添加
<dependency>
            <groupId>com.antstudy</groupId>
            <artifactId>redis_client</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
  1. gradle利用
repositories {
        // git仓库
        maven{
            url 'https://gitee.com/leixun/repository/raw/master/'
        }
        maven { url 'https://oss.sonatype.org/content/repositories/releases' }
        maven { url 'https://jitpack.io' }
        maven { url 'http://maven.koolearn-inc.com/nexus/content/repositories/ydcx_release' }
        jcenter()
        flatDir {
            dirs 'libs'   // aar目录
        }
    }
<dependency>
    compile 'com.antstudy:redis_client:1.0-SNAPSHOT'
</dependency>

tips: 本文只罗列了核心点,并未做详细步骤的说明和截图罗列,如有不解可联系互相交流

上一篇下一篇

猜你喜欢

热点阅读