我们在构建Java项目时,一般都是在pom文件中引入依赖,这样就可以很好的管理版本和完成构建,最近在一个项目中使用了一个开源的项目,可是该项目的长时间没有更新,幸运的是和我本身的项目依赖没有冲突,还是可以正常使用的,我在github上也提交了将依赖从springboot1.X升级到springboot2.X的PR,但是作者一致没有回复。
我还是幸运的,但是如果出现版本冲突,或者自己需要修改开源代码,可能就不一样了,这时你就有几种选择:
- 修改源码,然后以本地仓库或者私有仓库发布的方式使用,此方法可以解决问题,但是通用性比较差,本地仓库终归还是有版本管理的问题,而且不利于多人协作,私有仓库的方式也是有一定的成本和限制。
- 提交合并请求,要求项目维护者更新到中央仓库,这时你就会面临我所遇到的问题,作者反应很慢,你的要求难以得到及时的回复,而且你的需求不一定是通用的需求,类库的开发者和社区可能会有不同的声音,此路不一定能通;
- 按照自己的需求修改相关代码,上传到自己groupid的中央仓库,必要时可以发PR到源仓库(即方法2);
① 登录https://issues.sonatype.org/secure/Signup!default.jspa,注册自己的账号;
② 登录Sonatype,提交ISSUES,注意必填项
③ 下载并配置windows下的GPG
https://files.gpg4win.org/gpg4win-3.1.10.exe
④ 打包上传至Maven中央仓库