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

私下做项目开发时,很多时候也会拥有自己的公共库,因此需要一个便捷的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: 本文只罗列了核心点,并未做详细步骤的说明和截图罗列,如有不解可联系互相交流

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,007评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,280评论 19 139
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,287评论 0 25
  • 蒹荚阅读 163评论 0 1
  • 你的心是易碎品 自从全力以赴去爱过一个人 就已经支离破碎 无法愈合 你是八月 阳光炎热,雨水充沛 万物生机勃勃 我...
    文森林木阅读 340评论 0 0