美文网首页
Maven 教程:IDEA开发环境中maven 项目配置JDK9

Maven 教程:IDEA开发环境中maven 项目配置JDK9

作者: blueboz | 来源:发表于2018-07-30 15:56 被阅读0次

    在Maven中配置使用的JDK,一般有两种方法,笔者会对如下的两种方法进行 分别的介绍。

    笔者就以JDK10作为介绍,其他正常的JDK版本的配置也是一样的。这里使用JDK10 只是为了作一个通用的示范,使得大家举一反三。后面会贴出其他版本的配置信息。供大家拷贝粘贴。知道大家开发项目就是为了快速解决问题。

    JDK10:

    步骤一.确定jdk版本正确

    image.png

    此处笔者使用的是JDK10,如果希望配置JDK9或其他版本,只需要将JAVA_HOME环境变量配置到指向指定版本的JDK安装目录即可
    参考Jdk环境变量配置的方法

    步骤二.

    image.png

    配置完成之后一定要重启IDE,一定要重启IDE,一定要重启IDE!!!

    步骤三

    在IDEA中的项目配置中。配置好正确的JDK版本。也就是我们需要的版本。这步是最重要的


    image.png

    注意:如果此步骤不配置会不生效。

    pom 文件配置

    <properties>
        <maven.compiler.source>10</maven.compiler.source>
        <maven.compiler.target>10</maven.compiler.target>
    </properties>
    
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
    </plugin>
    

    刷新Maven项目

    image.png 或者AutoImport也可以,但 image.png

    是不建议使用,因为会导致性能下降

    查看是否配置成功

    image.png

    验证是否成功

    按照图中的指引进行编译,编译后去target目录查看编译后的字节码。

    image.png

    打开字节码目录

    image.png

    其他版本的JDK 配置方法

    JDK9

    <properties>
        <maven.compiler.source>1.9</maven.compiler.source>
        <maven.compiler.target>1.9</maven.compiler.target>
    </properties>
    

    JDK11

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    

    JDK12

    <properties>
        <maven.compiler.source>12</maven.compiler.source>
        <maven.compiler.target>12</maven.compiler.target>
    </properties>
    

    总结一下,上文。Maven compiler 这个插件可以理解为一个空壳,他会根据我们标志的maven.compiler.source去我们当前的编译器中找相应的版本,假设我们的编译器版本是10的话,我们这里的source.target写10,1.9,1.8,1.7...都是可以的。但是填写11就不行了。因为我们的编译器最高版本就10,所以编译时会报错!同样的,也就是这个特性,使得我们可以使用高版本 的编译器,编译 出低版本的字节码

    延续上面的例子,我们把编译器的版本换低。尝试编译后的代码,查看有和变化,此时我们的JDK 是10,我们把编译版本设置成JDK8,看看有什么效果


    image.png

    至于为啥高版本可以比编译低版本,这大家就得了解一下Javac的交叉编译了
    类似下面,我也不做多解释,因为笔者也不是很懂。也不怎么感兴趣。有兴趣的可以自己了解

     javac -target 1.6 -source 1.7 -bootclasspath /usr/java/jdk1.6.0_27/jre/lib/rt.jar Main.java
    
    

    本文参考链接:

    javac1.7交叉编译
    https://stackoverflow.com/questions/18320587/javac-cross-compilation-with-1-7

    maven 项目如何实现java9
    https://github.com/cfdobber/maven-java9-jigsaw

    maven compile 插件解释
    https://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html

    java交叉编译
    https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html

    相关文章

      网友评论

          本文标题:Maven 教程:IDEA开发环境中maven 项目配置JDK9

          本文链接:https://www.haomeiwen.com/subject/hcpfvftx.html