公司最近开始使用Jenkins对项目进行打包,因为各个项目使用的JDK版本不同,从6到8都有,统一版本目前是不可行的,所以要在Jenkins中为每个Job配置对应的JDK版本。
打包使用的工具是Ant和Maven,在网上查了很多资料,都是在Ant的build.xml和Maven的pom.xml中指定要编译的版本,虽然这样能够编译出指定版本的class文件,但由于实际上是使用同一个版本的JDK,所以并不是真正意义上的“配置不同版本的JDK进行编译”。
查看Ant和Maven的源码后,发现它们都是使用$JAVA_HOME目录下的工具进行编译,所以可以在Jenkins的Job中配置JAVA_HOME参数,Job每次运行时,这个参数都会作为环境变量来使用。
如下图配置
参数名大小写无关,参数值填写JDK的主目录路径,我在Jenkins中配置了全局变量JDK8_HOME,所以参数值填的是${JDK8_HOME}
编译后可以使用javap -verbose来查看class文件的编译版本