-
背景
-
使用发现bug
-
解决方式
-
开源项目提交PR的标准流程
-
1. fork项目到自己仓库
-
2. 将自己的远程仓库和fork的源仓库建立连接
-
3. 提交一个issues
-
4. 本地开发提交
-
5. 提交PR
-
彩蛋
背景
最近项目要弄一个分布式链路追踪,然后传统的一些方案非常的重,不太适合,最终看上了Tlog这款开源框架非常的轻量

可以看到对于分布式链路追踪只是生成一个全链路id,还是比较方便。具体使用不是本文的重点。这里想要了解使用的推荐大家去看官方官方文档地址github开源地址
github start还是比较少的,gitee相对多一点,但并不影响他的好用
使用发现bug
首先说一下我们这边的接入方式使用的是Logback框架适配器
方式接入的。在接入完启动后就发现xxl增强器报错了。
解决方式
大致看了一下,就是javassist
做
字节码增强的时候找不到这个类,然后去javassist
官方文档看了下说明上面的话大致意思是:静态方法 ClassPool.getdefault ()返回的默认 ClassPool 搜索底层 JVM (Java 虚拟机)的相同路径。如果一个程序运行在 web 应用服务器上,比如 JBoss 和 Tomcat,那么 ClassPool 对象可能无法找到用户类,因为这样的 web 应用服务器使用多个类加载器以及系统类加载器。在这种情况下,必须向 ClassPool 注册一个附加的类路径。假设 pool 引用一个 ClassPool 对象:
pool.insertClassPath(new ClassClassPath(this.getClass()));
大致问题定位到了,也知道怎么解决了。下面说说提交pr的标准流程
开源项目提交PR的标准流程
1. fork项目到自己仓库

2. 将自己的远程仓库和fork的源仓库建立连接
具体步骤如下:
-
将项目clone到本地(或者idea) -
使用如下git命令查看自己仓库的连接
git remote -v

这里可以看到还没有与上游仓库建立连接
-
与上游建立关系 git remote add upstream https://github.com/dromara/TLog.git
这里的 后面的https地址为 源开源项目的git地址
-
再次使用查看命令
git remote -v
3. 提交一个issues
一般我的pr都是解决一个bug或者一个feature 功能,我这里是解决一个bug,所以先提交一个bug的issues

4. 本地开发提交
我们由于已经把源代码下载下来到本地了,我们正常在本地开发解决到这个bug,然后推送到我们自己仓库
5. 提交PR
会发现有这么个pull request 直接点击,就可以推送了,然后就到了Pull reuqests页面,一般会有一个格式,让你关联上一个issues,大致是这样的
大致一个完成的开源项目PR就已经完成了,后续如果没有问题作者就会给你合并。有时候作者可能比较忙,没空看或者处理,你比较着急可以加作者微信沟通或者邮件沟通
彩蛋
原文始发于微信公众号(小奏技术):如何在开源项目提交自己的pr(我在开源项目提交的第一个被合并的PR,附带彩蛋)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/30256.html