如何正确地从github带来一个java库来替换maven项目中的依赖项

时间:2018-01-12 19:07:31

标签: java git maven github

所以我使用git我的公平份额,但一次只有一个项目。我有一个项目(称之为projectA),它目前使用maven引入一个在projectA中用作依赖项的java库(称之为libraryB)。我已经制作了一些代码来执行libraryB之前无法做的事情(例如,它有一个数据库连接器类,我制作了一个支持安全性的版本)。我想将相关代码提交到libraryB,但我不知道最好的方法。此外,projectA目前只具有libraryB的maven依赖,因此它是不可修改的。所以我想用我的github forkB库替换不可修改的libraryB依赖,将我的类和更改放入其中,然后在git上对libraryB的master执行pull请求。

很抱歉,如果这与我的措辞完全混淆,但任何帮助将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:2)

Tsolakp的回答是你想要的长远目标。 如果库B已停产或具有较长的发布周期(意味着您可能需要很长时间等待新版本):

在您对本地仓库中更改了B shared(或同等产品)之后。

然后将A中引用的B版本更改为您安装的版本。

请注意,如果你推动A的更改,这将要求所有在A上工作的人首先安装B,包括CI服务器。

答案 1 :(得分:1)

以下是projectA使用libraryB更改的正确方法。

1)将您的更改请求提交到libraryB

2)获得批准,并将更改合并到libraryB

3)使用较新的jar版本构建libraryB并部署到远程Maven存储库。

4)将你的pom中的libraryB jar依赖关系更新到新版本并进行新的maven构建。

以上所有假设libraryB已部署到settings.xml中配置的远程Maven存储库。如果它被部署到中央Maven存储库,那么您应该自动获得更新的版本。