当前位置: 代码迷 >> 综合 >> 相同java代码,编译生成class文件不同的原因-JDK版本不同(大版本相同,小版本不同)
  详细解决方案

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

热度:75   发布时间:2024-02-12 08:12:32.0

■前言

 使用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版本(只能查看到大版本)