使用git仓库搭建maven私服「建议收藏」

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

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

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

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

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

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

创建仓库

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

名称: mvnrepo
是否公开:公开

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

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

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

比如我的仓库地址是:gitee.com/pollyduan/m…

拉取仓库到本机

首先明确这个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站,如:gitee.com/pollyduan/m…

点击仓库中的 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>

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

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

彩蛋

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

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

别真把码云当回收站呀。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13354.html

(0)

相关推荐

  • 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)[通俗易懂]

    神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)[通俗易懂]开心一刻 我:嗨,老板娘,有冰红茶没 老板娘:有 我:多少钱一瓶 老板娘:3块 我:给我来一瓶,给,3块 老板娘:来,你的冰红茶 我:玩呐,我要冰红茶,你给我个瓶盖干哈? 老板娘:这是再来一瓶,我家卖

    2022-12-26
    159
  • 用Navicat创建MySQL存储过程(二[通俗易懂]

    用Navicat创建MySQL存储过程(二[通俗易懂]1.使用Navicat for MySQL工具创建存储过程步骤: 点击查询右键新建查询 下面是查询编译器的sql语句: DELIMITER $ DROP PROCEDURE if EXISTS se…

    2023-03-10
    160
  • IDEA新手使用教程(详解)

    IDEA新手使用教程(详解)IDEA 分为两个版本:旗舰版(Ultimate)和社区版(Community)。 如果想要下载IDEA工具或者永久使用IDEA,直接去【泰斗贤若如】公众号上看教程《永久使用IDEA》,然后进行下载并按相关教程操作,完成后即可永久使用。 红色箭头所指向的选项代表根据你的电脑选择…

    2023-03-24
    557
  • net start npf_MySQL启动

    net start npf_MySQL启动造成这种情况的原因有很多,如果直接百度错误信息的话,不一定能很快解决问题,所以,出现这种情况,我们可以使用 mysqld console 命令来查看报错信息,然后根据报错信息来百度,这样就很快定位到问

    2023-01-23
    171
  • 关于python查看源码的时候的信息

    关于python查看源码的时候的信息首先你要找到源码的位置,你可以使用下面的方法:

    2023-11-22
    111
  • SQL Server索引碎片维护进阶[亲测有效]

    SQL Server索引碎片维护进阶[亲测有效]一、产生原因及影响 索引是数据库引擎中针对表(有时候也针对视图)建立的特别数据结构,用来帮助查找和整理数据,它的重要性体现在能够使数据库引擎快速返回查询结果。当对索引所在的基础数据表进行增删改时,若存

    2023-04-23
    156
  • 数据库是否适合使用k8s部署_学会数据库使用的重要性

    数据库是否适合使用k8s部署_学会数据库使用的重要性作者:Stephen Thorn 翻译:刘玲玲 原文:https://www.percona.com/blog/2020/10/08/the-criticality-of-a-kubernetes-o

    2023-06-01
    154
  • 使用Python求平均数

    使用Python求平均数Python是一门高级语言,可以用于完成各种任务,其中包括数据统计和分析。在实际应用中,对于一组数据,求它们的平均值是非常常见的需求,Python提供了多种方法来进行平均数的计算,本文将详细介绍它们的使用方法。

    2024-07-09
    42

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注