(#)前瞻:最近发生一个很奇怪的事情,就是我自己写的代码在我本地可以正常的编译,运行,但是当qa同学通过maven打包编译的时候,一直抛出错误,
实际上在类中看看这两行代码都很正常,没什么特殊的逻辑,或者使用特殊的工具,但是有一点差不多就是都使用了反射类
(#)然而问题来了,具体怎么检查处理呢?
1.首先想到的就是看看我本地能不能自己打包呢?测试了一下,本地打包正常,启动一下正常,运行一下正常,很尴尬啊。。。。。
2.第二想到的就是自己打包,扔到服务器上看看能不能起来,命令maven,scp,不清楚的可以随便百度一下很简单
3.这个是和大家讨论了一下,由于我本地的版本是8,线上的版本是7那么就有可能是版本问题,但是为什么本地编译好的扔上去还是可以运行呢?
这也说不通啊,然而事实就是确实jdk版本不一致,导致问题的出现。。。
(#)思考一:既然是版本问题,那么在7的tomcat上为什么可以正常的启动呢?
(#)思考二:JVM是如何加载这些类的呢?
(#)思考三:类的编译与加载具体是什么关系呢?