使用git仓库创建

简介: [toc] 自己编写的jar,想要通过maven方式进行分发必须发布到maven仓库。如果没有自己的私服,我们可以使用折中的办法来实现。 maven客户端从maven仓库拉取构件时,实际上就是通过http协议去拉取对应仓库地址上的,对应目录中的metadata文件,查询需要的版本,就可以找到jar文件,下载到本机仓库。

自己编写的jar,想要通过maven方式进行分发必须发布到maven仓库。如果没有自己的私服,我们可以使用折中的办法来实现。

maven客户端从maven仓库拉取构件时,实际上就是通过http协议去拉取对应仓库地址上的,对应目录中的metadata文件,查询需要的版本,就可以找到jar文件,下载到本机仓库。从而完成了依赖构件的拉取。

就是说,我们可以使用任何http服务器,按照一定的目录结构部署构件,从而当做一个私服来使用。

http服务器也没有?那好吧,悄悄告诉你,几乎所有的git服务都支持直接通过http访问指定文件的功能。(web界面中的Raw按钮点击就会跳到这个地址)

本文以国内最流行(红薯看到一定笑的很开心)的git服务——码云 为例,演示如何创建自己的私服。

创建仓库

首先登录码云,创建项目:

名称: mvnrepo
是否公开:公开

其他随意填写,然后点“创建”按钮完成创建。

必须公开,否则maven无法使用它作为仓库。

那么你的项目路径应该是:https://gitee.com/{你的域名}/mvnrepo

比如我的仓库地址是:https://gitee.com/pollyduan/mvnrepo.git

拉取仓库到本机

首先明确这个git项目拉取到本机的位置,记住,有用。比如我拉取到 /data/git/ 中。

cd /data/git
git clone https://gitee.com/pollyduan/mvnrepo.git

此时,项目的目录为:/data/git/mvnrepo

配置本地临时仓库

修改本机maven仓库地址,只需要修改 settings.xml 中本机仓库的地址,注意,改配置文件有两个,maven会一次查找,以最后一个为准,所以要修改最后一个。

$M2_HOME/conf/settings.xml
~/.m2/settings.xml

将仓库地址修改为:

<localRepository>/data/git/mvnrepo</localRepository>

安装你要发布的jar到本机仓库

如果你要直接安装一个现有的jar:

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.5 -Dpackaging=jar -Dfile=ojdbc14.jar

如果你要将maven项目打包安装:

mvn install

注意,这时会把项目的依赖以及maven的一些依赖也放到当前的临时仓库里去了。

整理本地临时仓库

如果你的目录很清晰,比如我要发布的包都在 com.pollyduan 中,也可以不用清理,但注意不要提交到git服务器上去。

否则,就需要手动把不要的包都删掉。

这里整明白以后,提交一个commit,并push到远端仓库去。

cd /data/git/mvnrepo
echo '# 写点什么吧' >README.md
git add README.md
git add com/pollyduan
git commit -m '初始化仓库'
git push

获取私服地址

回到gitee仓库的web站,如:https://gitee.com/pollyduan/mvnrepo

点击仓库中的 README.md 文件,然后点击 原始数据 按钮,这时候会弹出新的窗口显示文件。

复制浏览器中的地址:

https://gitee.com/pollyduan/mvnrepo/raw/master/README.md

把这个地址中的 /README.md 去掉,就是你的私服地址了:

https://gitee.com/pollyduan/mvnrepo/raw/master

帅帅的。

在maven仓库中使用私服

由于我们的私服里只有我们要发布的jar,其他各种jar都没有,因此不要把这个私服作为全局的镜像,切记切记。

在pom 文件中project 元素的下一层增加如下配置:

<repositories>
  <repository>
    <id>mvnrepo</id>
    <name>mvn repository</name>
    <url>https://gitee.com/pollyduan/mvnrepo/raw/master</url>
  </repository>
</repositories>

现在你可以愉快地使用私服了。

如果你需要把项目分发其他人,TA 也可以方便的获取到你的依赖。

彩蛋

码(ke)云(bie)无(dang)敌(zhen)。

好吧,还得啰嗦一句:完了建议把 settings.xml 中的本机仓库地址改回去,要不然以后这个私服项目管理恐怕是个麻烦事。

别真把码云当回收站呀。

目录
相关文章
|
11月前
|
安全 开发工具 git
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
894 5
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
1925 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
341 0
|
Shell 开发工具 git
解决git bash报错:在仓库中检测到可疑的所有权
总的来说,解决“在仓库中检测到可疑的所有权”的报错,关键在于理解和调整文件或目录的所有权。只要我们正确地设置了文件或目录的所有权,那么我们就可以避免这种问题,让Git Bash正常工作。
815 22
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
19270 11
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
939 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
718 0
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
993 2
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
394 2