记录一次JDK版本问题,引发的思考

(#)前瞻:最近发生一个很奇怪的事情,就是我自己写的代码在我本地可以正常的编译,运行,但是当qa同学通过maven打包编译的时候,一直抛出错误,

     

  实际上在类中看看这两行代码都很正常,没什么特殊的逻辑,或者使用特殊的工具,但是有一点差不多就是都使用了反射类

 

(#)然而问题来了,具体怎么检查处理呢?

  1.首先想到的就是看看我本地能不能自己打包呢?测试了一下,本地打包正常,启动一下正常,运行一下正常,很尴尬啊。。。。。

      2.第二想到的就是自己打包,扔到服务器上看看能不能起来,命令maven,scp,不清楚的可以随便百度一下很简单

  3.这个是和大家讨论了一下,由于我本地的版本是8,线上的版本是7那么就有可能是版本问题,但是为什么本地编译好的扔上去还是可以运行呢?

   这也说不通啊,然而事实就是确实jdk版本不一致,导致问题的出现。。。

 

(#)思考一:既然是版本问题,那么在7的tomcat上为什么可以正常的启动呢?

(#)思考二:JVM是如何加载这些类的呢?

(#)思考三:类的编译与加载具体是什么关系呢?

posted @ 2017-05-23 17:51  nasjjsadkef  阅读(203)  评论(0编辑  收藏  举报