所以我使用git我的公平份额,但一次只有一个项目。我有一个项目(称之为projectA),它目前使用maven引入一个在projectA中用作依赖项的java库(称之为libraryB)。我已经制作了一些代码来执行libraryB之前无法做的事情(例如,它有一个数据库连接器类,我制作了一个支持安全性的版本)。我想将相关代码提交到libraryB,但我不知道最好的方法。此外,projectA目前只具有libraryB的maven依赖,因此它是不可修改的。所以我想用我的github forkB库替换不可修改的libraryB依赖,将我的类和更改放入其中,然后在git上对libraryB的master执行pull请求。
很抱歉,如果这与我的措辞完全混淆,但任何帮助将不胜感激。
谢谢!
答案 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存储库,那么您应该自动获得更新的版本。