1、maven 仓库的结构

maven 仓库的结构可以通过打开本地仓库查看,一般在 ~/.m2 目录下。

maven 仓库结构

示例中 maven 仓库根目录为 repository,alipay.alipay-trade-sdk 为包名,2.0.0 为版本号。

实际上只要是能够远程访问的地址,并且能按 "/包名/.../版本号/maven结构文件" 返回数据的都可以用作 maven 仓库。

2、使用 github 或者 gitee(码云)当作 maven 仓库的途径

github 有专门的插件可以实现这个功能,码云的 api 与 github 不同,目前没有找到有大神实现这种插件。我需要找到一种通用的方法。

如 这位博主 所做,他是把项目的远程仓库目录指定到本地环境,然后将本地环境直接提交到码云用作 maven 仓库。

本质上是把本地仓库,按需提交到 git 中,下载时再特殊配置一下就好。

git 是用于代码管理的,直接将代码与发行的 jar 包放在一起,不是更好吗?

3、将当前 git 项目与 maven 仓库合二为一

  • 在 pom.xml 中指定项目信息及打包方式。
    <groupId>cn.sd.jrz</groupId><artifactId>JTool</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>JTool Maven Jar</name>

关键参数为 groupId、artifactId、version,这三个唯一确定一个 maven 依赖包。

packaging 参数指定了打为 jar 包。

  • 将远程仓库目录配置到本项目中

在与 <dependencies> 标签平级的地方添加

    <distributionManagement><repository><id>local-maven</id><url>file:${project.basedir}/release</url></repository></distributionManagement>

配置完成后,执行 maven 的 deploy 方法将会在当前工程目录下生成 release 目录,里面就是 maven 仓库。

  • 将 release 添加到 git 项目中,并提交到远程 git 仓库,如 github 或 gitee
  • 在 git 平台文件页面中,进入 release 目录,并记录下其路径。

例如码云的路径:https://gitee.com/scrambled_egg_with_eek/JTool/raw/master/release

4、第三方工程引用位于 git 仓库中的 maven 依赖

  • 在项目中配置仓库属性,也就是码云路径,与 <dependencies> 标签平级
    <repositories><repository><id>gitee-maven</id><url>https://gitee.com/scrambled_egg_with_eek/JTool/raw/master/release</url></repository></repositories>
  • 在 <dependencies> 标签中添加依赖
        <dependency><artifactId>JTool</artifactId><groupId>cn.sd.jrz</groupId><version>1.0-SNAPSHOT</version></dependency>
  • 重新导入一下 maven 即可

5、注意事项

  1. 以上步骤默认是 public 访问权限仓库,如果是 private 仓库,需要在本地 setting.xml 文件中配置仓库的用户名和密码
  2. 需要删除本地仓库中的代码才能进行测试,或者直接使用第二台电脑
  3. 当前项目的 jar 包就在当前项目的 release 目录下固然不错,但也导致了每引入一个此类型的 jar 包,都需要重新配置一个仓库
  4. 查看目录时,可以先进入 release 目录中,打开一个文本文件,再点击原始数据,从浏览器的地址中可以截取。

使用 github 或者 gitee(码云)当作 maven 仓库的方法相关推荐

  1. Git详细用法:Git概述 安装 常用命令 分支操作 团队协作 、GitHub、idea集成Git、idea集成GitHub、Gitee 码云、GitLab

    0 课程介绍 说明: 在公司想要使用idea集成git: 首选需要下载安装Git(查看第2章) 之后在中设置用户签名(查看3.1) 然后在idea中集成Git(查看第7章) - 0.1 学习目标 第1 ...

  2. Git代码同时push到GitHub和Gitee(码云)

    Git代码同时push到GitHub和Gitee(码云) 1. 在Gitee和GitHub上分别创建一个项目(同名项目) 2. 克隆项目到本地 //从gitee 获取 $ git clone http ...

  3. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境

    首先确认已安装Git,可以通过 git –version 命令可以查看当前安装的版本. Mac OSX 中都已经安装了Git.但是,Git的版本未必是最新的. 可以通过命令 git clone htt ...

  4. push代码至gitee码云报错unable to access 'https://gitee.com/*/git/': The requested URL returned error: 403

    第一次使用idea整合gitee插件用来push代码的时候,不小心输错了用户名或密码,导致后续push代码,一直报错:unable to access 'https://gitee.com/*/git ...

  5. Git版本控制器(涵盖GitHub\Gitee码云\GitLab),全网最详细教程

    Git(涵盖GitHub\Gitee码云\GitLab) 第1章 Git 概述 Git 是一个免费的.开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目. Git 易于学习,占地面积 ...

  6. Gitee(码云)、Github同时配置ssh key

    Gitee(码云).Github同时配置ssh key:https://www.jianshu.com/p/161b61d6bae1 转载于:https://www.cnblogs.com/bydzh ...

  7. github/gitee码云文件上传提交记录教程

    例如上传提交一个文件到gitee(码云)上,例如这个轮播图代码 1 //git初始化 git init 2 //获取git文件状态 git status 可以看出文件还没有commit 3 git a ...

  8. Git - Gitee码云 使用手册

    目录 1. 前言 1.1 概念 1.2 作用 1.3 Git相关的一些概念 1.4 Git工作区中文件的两种状态 1.5 常用的Git代码托管服务 2. 下载与安装 2.1 Git下载与安装 2.2 ...

  9. Gitee码云 操作

    1:Git团队协作机制 1.1:团队内协作 1.2:跨团队协作 2:Gitee码云 操作 码云网址: https://githee.com/ 2.1:创建远程仓库 2.2:远程仓库操作 命令名称 作用 ...

最新文章

  1. Google Maps Android API V2的使用及问题解决
  2. 云服务器centos登录日志文件,云服务器centos登录日志文件
  3. 100个程序员学习的网站
  4. offline .net3.5
  5. 畅通工程(自己写的BFS,但后面想了下并查集更好更快)
  6. python flask api部署_使用flask开发api——部署flask,使用gunicorn+gevent模式的http server...
  7. 【渝粤教育】电大中专工程图学基础_1作业 题库
  8. cygwin中访问windows分区
  9. Qt——菜单栏、工具栏、状态栏
  10. 计算机命令提示符的使用,命令提示符(电脑系统命令提示符的打开方法)
  11. 树莓派GPIO引脚介绍
  12. visual studio python使用教程_教程:在 Visual Studio 中开始使用 Flask Web 框架
  13. svn和git的区别
  14. 电脑网线直连Linux服务器,网线直连线与交叉线之间的区别
  15. java计算机毕业设计机械生产企业办公设备管理系统MyBatis+系统+LW文档+源码+调试部署
  16. 无频闪护眼灯哪个好?盘点四款无频闪的护眼台灯
  17. [laravel]laravel8自动生成api文档
  18. Java就业方向有哪些?学习Java开发能做什么?
  19. 《信号与系统》连续时间系统零状态响应的 MATLAB 实现
  20. 高级项目管理-4、项目范围、进度、成本、质量管理

热门文章

  1. 多态(polymorphism)的基本概念,强制转型问题,instanceof运算符
  2. edge microsoff 连不上网_网站还原错误怎么办
  3. 分享4个不为人知的高质量APP,每一个都实力爆棚!
  4. 如何查看 ananconda 的环境(虚拟环境)安装包位置
  5. 电源的降压(Buck)与升压(Boost)模式
  6. Python - 下载视频网站的视频
  7. 我用python一键整理杂乱的文件
  8. 《出师表》中英文完整版
  9. python中符号的用法_python中的@符号的作用
  10. 微信红包限额提升方法