记录工具使用问题

idea怎么查看jar里的类调用链

背景:跟踪EnableConfigurationPropertiesRegistrar代码时想要知道AnnotationMetadata实现类是哪个,ctl+alt+b出来有两个实现类,不知到底用的是哪个。依次点开实现类,并在类名处右键findUsages却都报没有使用,按道理spring不会创建一个不被使用的类,所以百度,搜到如下链接,原来是因为jar里的类调用链只能用source导入来看。

参考链接:https://zhidao.baidu.com/question/526442428445149405.html

docker运行tomcat和springboot war包

背景:在看docker学习视频,照着实验做,却发现总是报404。

解决:

  1. 容器内查看tomcat日志,报unsupported major.minor。
    打包编译用的jdk8,宿主机也是jdk8,但是tomcat容器是7,重新docker pull tomcat:8-jre8就可以了。

  2. docker run运行tomcat,报forwarding相差的warning。
    修改一个内核参数,方法如下:
    vi /etc/sysctl.conf,加一行命令,即net.ipv4.ip_forward=1。
    重新启动network,即systemctl restart network。
    查看是否修改成功,即sysctl net.ipv4.ip_forward,为1则表示修改成功。

  3. 上面两个问题解决后,还是404,记得在哪里看到过要加–privileged=true,加上后,访问OK。

docker cp a.war my_tomcat:/usr/local/tomcat/webapps/b.war 注意两边都是文件名,若容器内路径只写到webapps,则webapps文件夹将只有一个挂载进来的war包,原来的东西将清空,这不是我们想要的。另外访问的http路径项目名将由b决定,而不是原来的a。

宿主机防火墙关闭并disable,这就不说了,自己做实验,这样方便。项目中,不能这样粗暴解决,应在防火墙上开放相应端口。

Markdown绘制URL类图

习惯用Markdown做笔记,阅读源码的过程中想把理解的知识用URL组织串联起来,感觉更有全局感一些。
网上查找Markdown绘制URL类图的方法,发现如下几种方法:

  1. PlantUML + Gravizo,PlantUML用于负责绘制命令,Gravizo负责解析,在线解析的话,就不用安装Gravizo,Gravizo是用于离线情况下的。发现有个小bug,多个抽象类生成图形时只能显示一个为A,其它都是C标志。
    参考链接:https://blog.csdn.net/heqiangflytosky/article/details/77050849(PlantUML绘制UML类图)
    https://plantuml.com/class-diagram(PlantUML官网)
    缺点:虽然用代码生成图片,能反映版本迭代(图片是二进制不能反映两张图片有何具体不同点)。但是需要Markdown工具如Typora、Xmind能集成其解析引擎Gravizo。尝试了Typora中输入PlantUML命令,发现并不能识别。这样只能手动生成图片后插入,有更改时,需要重新生成,替换原有图片,不太方便。

  2. mermaid命令绘制URL类图。可以参考csdn选择markdown写博客时的帮助文档里的插入UML图demo。(相比intellij生成的类图,可以自己添加更多关系,如依赖、关联、组合、聚合,因此推荐使用)

参考链接:
https://blog.csdn.net/m0_46183807/article/details/107327311 (mermaid的各种类型的模块对应各种类型的图)
https://blog.csdn.net/sinat_29047129/article/details/104061103(typora使用mermaid的链接总结)

  1. intellij生成类图的快捷键:ctrl + shift + alt + u(显示的继承关系,对于框架代码来说,调用关系也是需要关注的)

后记:mermaid绘制uml类图的虚线和实线在typora中显示的都是实线。由于接口有interface标记,因此继承和实现关系可以推断出来。但是关联和依赖关系推断不了,因此在使用时将依赖关系的线条上标记了dependency作为说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值