maven设置target以及source版本

jdk的向下兼容:

就是高版本jdk可以编译出低版本的编译版本;

低版本的编译版本可以运行在高版本上的jdk上

-------------------------------------------------------------------

 

1.使用方式

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
          <outputFileName>测试</outputFileName>
        </configuration>
      </plugin>    
    </plugins>
  </build>

2.为什么存在?

学东西不仅需要知其然还要知其所以然,source用来配置源代码使用的开发版本,target用来配置需要生成的目标class文件的编译版本,那么有些朋友可能会问为什么maven编译不使用class将来被部署的环境的jdk版本:有时可能会因maven版本需求或者其他一些插件需求,这些限制规定了我们必须在编译机器上使用比如说jdk7及其以上的版本,但是我们运行的环境使用的是jdk6,这时候就需要增加一个source参数来解决这个问题。

------------------------------------------------------------------------------------------------------------------

生产是1.6的jdk环境,我的开发工具是1.8的jdk,打了个补丁,要改为jdk1.6,然后重新编译。

一直以为还要再装一个1.6jdk(一个笔记本上面可以装两个版本jdk的),其实jdk是向下版本兼容的,只要在编译的时候改为jdk1.6的就行。 

maven设置target以及source版本

然后呢,稍微总结一下jdk向下兼容,

        注意:高版本编译的java代码,在低版本无法运行。反之,则可以。

 

 

参考:https://blog.****.net/weimenglala/article/details/102753582