相同java代码,编译生成class文件不同的原因-JDK版本不同(大版本相同,小版本不同)

■前言

 使用Jenkins自动打包,生成jar文件

 检证时,和本地手动执行mvn命令生成的jar比较

  使用winMerage进行比较。

 

■现象

  发现,除了pom.properties文件的改行code文件不一致之外,

  竟然还有class文件不一样。

  (只有一个class文件是不同的,其余的class文件都相同)

 

■原因

  JDK的小版本不同

 

■详细

  使用的JDK都是java 8,

  大版本是相同的,小版本不同

   ・①Jenkins所在环境,使用的是JDK 8_212

   ・②本地环境A同学,使用的是JDK 8_181

   ・③本地环境B同学,使用的是JDK 8_131

 

①②的jar相同

①②的jar与③的jar不相同

 

■最后

B同学,本地使用JDK 8_181后,

生成的jar再次与Jenkins比较,结果相同了。

 

■扩展 

  查看class编译时的JDK版本(只能查看到大版本)

  https://blog.csdn.net/sxzlc/article/details/108088981

===

 

    原文作者:sun0322
    原文地址: https://blog.csdn.net/sxzlc/article/details/108088663
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞