最近刚接手了一个厂家做好的项目,为了方便看代码逻辑,想画一下重要接口的时序图。还没开始画的时候想了一下应该会有开源的生成时序图的工具,哈哈哈哈哈,百度。
发现一个叫java-tracer的阿里开源项目,下载调试!
java-tracer git 地址:https://github.com/fengzhongke/java-tracer
下载后主项目根目录下有个java-tracer.jar包。
我是用eclipse、spring项目,配置tomcat启动jvm参数。
这个地方需要注意:按照git作者提示,只需添加-javaagent:xxx\java-tracer-master\java-tracer.jar
但是这样加完后启动总是报错。
痛苦的调试工作,一直百度报错信息,快要放弃的时候感觉会不会是jdk版本问题,差不多按照这个思路找解决方案,终于找到一个答案说是jvm添加
-noverify
这么一个参数。
开始我加到eclips全局jdk配置那里,无效。
再次添加到JVM启动参数里,启动OK!
马上查一下这个参数是哪路神仙。
Java文档说-noverify
关闭了类验证。
可是为什么要关闭验证?
Some very old versions of javac produced incorrect bytecode. Indeed the Sun PlugIn still includes fix-up code to make some broken class files verify.
大概理解为旧版本的编译器生成了一些不符合现在规则的字节码,当前版本运行校验的时候会报错。
可是问题来了,没找到下载的开源代码中关于jdk版本的配置~将本地项目中builPath中jdk版本改为1.8后打包还是不行~
有时间再校验一下吧,反正问题解决了!