利用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地址为:
[email protected]: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 [email protected]: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>
            <artifactId>com.dsj361</artifactId>
            <groupId>common-utils</groupId>
            <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按钮即可
 

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

猜你喜欢

转载自www.cnblogs.com/nicekk/p/9061252.html