文章506
标签266
分类65

Maven打包java11报错Fatal error compiling的解决办法

最近一段时间一直都在忙导师公司的事情, 然后一边在写一个文件分享的项目, 实在没什么时间写博客, 今天终于忙完导师公司的事情, 然后打包构建项目的时候发现无法构建: Fatal error compiling的错误

在网上一番查证之后, 终于发现问题所在, 原来是Java 11之后, 在Maven中的标注不再是1.8, 而是11!

看完本篇文章你将学会:

  • 如何使用Maven构建JDK11的项目
  • 如何通过在pom.xml中指定源代码与编译代码版本
  • 如何配置IDEA中的JDK环境
  • ……

Maven打包java11报错Fatal error compiling的解决办法

前言

今天在使用Maven打包JDK11的项目的时候发现, 报错Fatal error compiling, 在网上经过一番查证, 发现了是在Maven中指定项目JDK版本时指定格式有问题!

写下这篇文章记录一下这个坑, 同时也总结一下使用Maven构建工程时使用到的XML标签.



Fatal error compiling错误的解决

在Maven工程中, 之前pom.xml的内容为:

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.11</java.version>
        <maven.compiler.source>1.11</maven.compiler.source>
        <maven.compiler.target>1.11</maven.compiler.target>
    </properties>

其中问题就出现在: JDK版本指定应当直接指定为11, 而对于JDK8 则指定为1.8!

修改内容为:

 <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>11</java.version>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
   </properties>

即可构建成功!

就这么简单, 就浪费了将近20分钟…., 因为没找到问题所在, 我也是无语.

*注: * 除了上面修改Maven项目下的pom.xml内容之外, 在使用IDEA时, 还需要设置:

  • 项目SDK: File -> project Structure -> project -> ProjectSDK: 11
  • 项目模块: File -> project Structure -> Modules -> Language Level 11
  • Java编译器: Setting -> File -> Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler -> Project bytecode version: 11

通常在IDEA中设置了以上版本都一致时即可! 然后通过命令:

mvn clean insall 构建你的项目吧!


本文作者:Jasonkay
本文链接:https://jasonkayzk.github.io/2019/10/16/Maven打包java11报错Fatal-error-compiling的解决办法/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可