如何用maven使用低版本的jdk编译工程

背景: 
项目中自定义了一些二方库,需要把一些工程编译成jar,给其他项目或者工程做为依赖引入。
由于自己的项目使用的是JDK1.8, 而使用方是一个比较老的项目,使用的是JDK 1.6。我用JDK1.8编译出的项目,他无法使用
也就衍生出了这个问题,如何用maven + JDK 1.6编译这个工程

1. 先安装jdk

自行安装

2. 安装maven

这里需要注意下,maven也是java写的,也是编译成class类、jar的,和jdk也是有版本对应关系的
3.3版本以上对应的是JDK 1.7
3.2版本对应的是JDK1.6
3.1版本对应的是JDK1.5
参考 Maven和JDK版本对应关系
自行下载对应版本的maven

3. 设置maven的setting文件

到maven安装目录的conf目录下,打开setting.xml文件,找到标签,插入如下内容

<profile>    
  <id>jdk-1.8id>    
  <activation>    
    <activeByDefault>trueactiveByDefault>    
    <jdk>1.8jdk>    
  activation>    
  <properties>    
    <maven.compiler.source>1.8maven.compiler.source>    
    <maven.compiler.target>1.8maven.compiler.target>
    <maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion> 
  properties>    
profile>

4. 编译文件

打开windows的cmd命令窗口,
跳转到要编译的工程目录下cd E:/java/target/project
然后开始编译E:/maven/dir/bin/mvn clean package
这里的意思就是,输入maven的全路径+mvn命令,然后在项目有pom文件的目录,执行maven命令就可以了

5. 如何看编辑的class是什么版本的

这里借助vscode工具。 先下载一个vscode,然后在插件里安装hexdump for vscode
然后用压缩工具打开编译完的jar包,将里边的class文件copy出来,然后用vscode打开
会提示是二进制文件,接着打开会显示乱码
如何用maven使用低版本的jdk编译工程_第1张图片
右键,然后show Hexdump
如何用maven使用低版本的jdk编译工程_第2张图片
然后看这个关键位置
如何用maven使用低版本的jdk编译工程_第3张图片

6. jdk版本号对并表

数字 版本号
34(对应十进制的50) JDK1.8
33(对应十进制的50) JDK1.7
32(对应十进制的50) JDK1.6
31(对应十进制的49) JDK1.5
30(对应十进制的48) JDK1.4
2F(对应十进制的47) JDK1.3
2E(对应十进制的46) JDK1.2

你可能感兴趣的:(Java)