目前公司jdk大多数版本都使用的1.6,最近要求升级jdk为1.8.由于应用非常多,所以在升级过程中出现了一部分应用以及升为1.8,一部分仍然保持1.6的版本。这里就出现了jdk打包版本的问题:
低版本打包高版本使用时没问题的,但高版本打包低版本使用会找不到类。这个的根本原因就是java字节码中minor_version、major_version的值。关于jdk版本和minor_version、major_version的对应值这里不再赘述。
我们是maven项目,只能通过制定编译版本为1.6降版本打包才能解决。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1</target>.6
<encoding>UTF-8</encoding>
</configuration>
</plugin>