首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在将新版本发布到M2存储库之前使用修补程序库

在将新版本发布到M2存储库之前使用修补程序库
EN

Stack Overflow用户
提问于 2015-11-11 20:21:31
回答 1查看 45关注 0票数 1

这是我第一次参与修复第三方开源库。库是托管在github上的,所以我用这个库创建了一个分支,我将我的叉子克隆到了我的计算机上,并为这个修复创建了特性分支(之后要进行一次提交合并)--这不是一个问题。

问题是,在我修复之后,在库作者将补丁发布到maven存储库之前。我想在我的项目中使用这个库,就像修复这个特定的bug一样快。我目前只是一个项目的工作人员(这是我的宠物项目,真的)。但这是一个时间问题,直到我会陷入这样的麻烦,在我的商业工作,我不是唯一的人从事项目。

我看到有关这个问题的四项解决办法:

  • 将其发布到本地maven repo
代码语言:javascript
复制
- I know how to do it
- Problematic in CI environment

  • 在gradle中配置本地依赖项
代码语言:javascript
复制
- Ugly
- Problematic in CI

  • 发布到公共maven
代码语言:javascript
复制
- Works in CI
- Never done it
- This isn't my library - I don't want do sign under not my work

  • 托管在我的VPS上的私有Maven
代码语言:javascript
复制
- Always wanted to have one
- Works with CI
- I will have to spent some time reading - since I've never done it

你会怎么做?我的方法是正确的吗,还是我应该采取完全不同的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-11 20:41:57

绝对可以选择4:“私有Maven托管在我的VPS上”。

实际上,设置一个私有存储库管理器并不困难。有几个开源存储库管理器,如艺术,艺术尼克斯阿基瓦。就我个人而言,我一直使用Artifactory,所以我不能代表其他人说话,但是Artifactory有一个非常好的官方指南,它很好地解释了如何设置和配置它。

请注意,使用私有存储库管理器还具有许多其他优点:

  • 它充当公共Maven存储库的缓存,从而避免从Internet下载每个依赖项。在互联网访问受到限制的情况下,这尤其有用。
  • 它可以托管由您的项目生成的私有库,与托管公共图书馆的方式相同。我必须处理的一个例子是Oracle JDBC驱动程序:它是不可公开的,而且在每台开发人员机器上安装都很混乱。
  • 对Maven项目来说,使用它是透明的:无论是公共工件还是内部构件,声明依赖的方式都是完全相同的。

因此,使用存储库管理器不仅是解决当前问题的好主意,也可能解决许多未来的问题。

此外,正如你所说,由于你提到的确切原因,其他选择都非常脆弱。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33659122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档