zoukankan      html  css  js  c++  java
  • 利用github搭建私人maven仓库

     一、背景

    最近在做HBase的项目,不免会引用到一些工具类,如StringUtils,NumberUtils,DateUtils这些,公司底层有封装好可以直接使用。

    但是项目完成,用maven打包部署的时候,由于公司底层集成了太多jar包,可能会导致冲突,使打完的jar包无法用java -jar 运行,报错是

    Error: Invalid or corrupt jarfile realTimeImport-1.0-SNAPSHOT.jar

    暂时定位是引用了太多jar包引起的,但其实我可能就只需要一些工具类。所以萌生了我能不能自己搭建一个maven仓库。

    公司的maven库都是为app而引用的,都是com.bench.app,我搞一个com.dsj361显的很突兀。所以还是不用公司的了。

    百度了一圈,发现可以用nexus搭建maven库,然后服务器放在公司虚拟机中,但是问题是,虚拟机可能随时会断点啊,清理啊什么的。

    不是很稳定,放在云上,又不想花钱,那么放在github上可能就是一个最佳选择了。

    二、操作

    (1)首先github上新建一个账户,并且新建一个仓库

    ssh地址为:
    git@github.com:nicekk/maven.git
     
    (2)git客户端配置
    首先需要安装一个git客户端
    https://gitforwindows.org/
    从这里下载一个安装就好了。
    生成密钥
    打开git bash
     ssh-keygen -t rsa
    一路下一步,即可安装到c:/user/xxxx/.ssh/下
    去github上面,选择

     

    
    
     Settings进去,SSH and GPK keys
    点击新增一个ssh-key
    把刚刚生成的密钥的.pub文件内容复制到这里,并且写上对应的名字,区分
    即可
     
     
     
    (3)
    在本地maven仓库的根目录下创建
    cd 到/d/dev/maven-repository
    git init
    git remote add origin git@github.com:nicekk/maven.git
     
    创建.gitignore 将文件匹配符*加入其中, 并将.gitignore提交git本地仓库master分支
     echo "*" >> .gitignore
     git add .gitignore -f
    git commit -m 'add .gitignore'
     
    (4)
    分别创建分支snapshot与release并push至远端仓库,用于发布不同状态的artifects,默认情况切换至snapshot
    git branch snapshot
    git branch release
    git push origin snapshot
    git push origin release
    git checkout snapshot
     
    (5)开发共用的库
    新建maven项目,开发...,开发完成后,使用mvn clean source:jar install安装至本地仓库
     
    (6)使用git提交
    cd 到 /d/dev/maven-repository(maven仓库根目录)
    git add -f com/dsj361/common-utils/1.0-SNAPSHOT
    git commit -m 'snapshot of com/dsj361/common-utils/1.0-SNAPSHOT'
    git push origin snapshot
     
    (7)此时私人的maven仓库就搭建完毕了,下面新建一个使用公共jar的项目测试
    同样新建一个maven项目
    加入reposity和dependency
    <repositories>
            <repository>
                <id>github-maven-snapshot-repository</id>
                <name>github-maven-snapshot-repository</name>
                <url>https://raw.github.com/nicekk/maven/snapshot/</url>
            </repository>
            <repository>
                <id>github-maven-release-repository</id>
                <name>github-maven-release-repository</name>
                <url>https://raw.github.com/nicekk/maven/release/</url>
            </repository>
        </repositories>
    

      

    <dependency>
                <groupId>com.dsj361</groupId>
                <artifactId>common-utils</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    

      

    即可引入在github上的jar包了

    (8)当公用项目有变更时,修改好,打包,提交,重复(6)即可

    (9)如果你不喜欢用命令行的方式,觉得太费脑,那我下面写第三点,说一下tortoiseGit的使用

    三、使用tortoiseGit提交git

    1、下载

    https://tortoisegit.org/download/

    2、安装好这两个东西。

    3.设置语言

    4.设置密钥

    TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在TortoiseGit中不能用。而基于git的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于git的rsa密钥也适用于TortoiseGit的ppk密钥
    运行TortoiseGit开始菜单中的puttygen程序

    点击“Generate”按钮,鼠标在上图的空白地方来回移动直到进度条完毕,就会自动生一个随机的key,如下图示

    (如有需要,可以为密钥设置对应的访问密码,就是修改上图中“Key passphrase”和“Confirm passphrase”的值)

    5.将上图中多行文本框的内容全选、复制,并粘贴到git账户的 SSH public key中,这就是适用于git的公钥。

    6.点击上图中的“Save private key”按钮,将生成的key保存为适用于TortoiseGit的私钥(扩展名为.ppk)。
    7.运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,点击“Add Key”按钮,将第4步保存的ppk私钥添加进来,关闭对话框即可
    9.提交
    去刚刚maven仓库根目录,右键,选择Git 提交,写好提交comment,点击提交并且push按钮即可
     

    四、最后祝大家工作生活顺利

  • 相关阅读:
    手动制作openstack windows镜像
    kolla-ansible部署多节点OpenStack-Pike
    手动制作openstack CentOS 镜像
    VNC Viewer连接打开remote display的VMware虚拟机出现闪退
    Host does not support domain type kvm for virtualization type 'hvm' arch 'x86_64'
    ImportError: No module named 'requests.packages.urllib3'
    使用kolla安装的openstack mariadb为集群所有节点无法启动
    kolla-ansible部署单节点OpenStack-Pike
    墨刀--在线原型设计工具
    Pycharm配置支持vue语法
  • 原文地址:https://www.cnblogs.com/nicekk/p/9061252.html
Copyright © 2011-2022 走看看