首页 > 其他分享 >记一个maven编译打包低级错误"Fatal error compiling: 无效的目标发行版: 11"的解决

记一个maven编译打包低级错误"Fatal error compiling: 无效的目标发行版: 11"的解决

时间:2023-05-14 10:34:57浏览次数:39  
标签:11 compile Java version maven compiling Fatal

昨天遇到一个java8迁移到java11的项目编译问题,错误如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project xxxxx: Fatal error compiling: 无效的目标发行版: 11 -> [Help 1]

初以为是spring或maven版本低,升级以后仍然报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project xxxxx: Fatal error compiling: 无效的目标发行版: 11 -> [Help 1]

只好求助网络搜索,大多建议pom.xml增加:



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

也有建议修改maven的setting.xml文件,向文件中添加以下内容

<profile>
    <id>jdk-11</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>11</jdk>
    </activation>
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
    </properties>
</profile>

逐一尝试后并未解决前述错误,于是重新检查一遍当前java版本:

C:\Users\cocopi>java -version
java version "11.0.18" 2023-01-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.18+9-LTS-195)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.18+9-LTS-195, mixed mode)

检查maven版本:

C:\Users\cocopi>mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\apache-maven-3.6.3\bin\..
Java version: 1.8.0_231, ... , runtime: C:\Program Files\Java\jdk1.8.0_231\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

至此发现错误原因,原来执行java -version默认使用系统环境变量JAVA_HOME,而maven优先使用了windows的用户变量JAVA_HOME(这里之前忘记修改,仍然指向java8路径),修改用户变量JAVA_HOME指向java11或删除该用户变量JAVA_HOME(如无它用)后即可。

这是个低级错误,网上未见提及,可能会帮到个别与我类似的朋友~

第一次在中国最伟大的开源博客上写笔记,如有不妥请多指教,祝一切顺利!

 

标签:11,compile,Java,version,maven,compiling,Fatal
From: https://www.cnblogs.com/cocopi/p/17398847.html

相关文章

  • 11种概率分布的拟合与ks检验,可用于概率分析,可靠度计算等领域
    11种概率分布的拟合与ks检验,可用于概率分析,可靠度计算等领域案例中提供11种概率分布,具体包括:gev、logistic、gaussian、tLocationScale、Rayleigh、Loglogistic、Lognormal、GeneralizedPareto、Weibull、Gamma、Exponential等概率分布然后进行ks检验,选择最优概率分布,并画出11中概......
  • P1134高精度
    #include<bits/stdc++.h>usingnamespacestd;intmain(){intN;while(cin>>N){inta[3001]={0};inti=0;a[0]=1;while(N){for(i=0;i<3001;i++){......
  • 超微 X11SCA-F 主板 TrueNAS 系统中找不到核显解决办法
    问题表现:执行lspci|grep-ivga显示只有主板集成的ASPEED显示芯片07:00.0VGAcompatiblecontroller:ASPEEDTechnology,Inc.ASPEEDGraphicsFamily(rev41)解决办法:设置BIOS->Advanced->ChipsetConfiguration->SystemAgent(SA)Configuration->Graphic......
  • 11-13
    4.111.创建角色r2,使角色R1拥有Student表的SELECT、UPDATE、INSERT权限 2.将这个角色授予u1u2u3。使他们具有角色R1所包含的全部权限3.一次性通过R1来回收王平的这3个权限  4.12使角色R2在原来的基础上增加student表中delete权限 4.13使r2减少select权限 ......
  • P1121
    #include<bits/stdc++.h>usingnamespacestd;constintmaxn=206;intn[maxn],m[maxn],ans[maxn];intmain(intargc,charconst*argv[]){stringa,b;while(cin>>a>>b){for(inti=0;i<maxn;i++)ans[i]=0;intl......
  • P1120
    #include<stdio.h>#include<string.h>intmain(){inta[201]={0},b[201]={0};charc[201]={'\0'},d[201]={'\0'};//*字符数组用来储存输入的两个大整数while(gets(c))//*多组输入{gets(d);i......
  • JSP_5.11_课堂笔记
    insert.jsp<%@pageimport="java.sql.Statement"%><%@pageimport="java.sql.Connection"%><%@pageimport="java.sql.DriverManager"%><%@pagelanguage="java"contentType="text/html;charset=UT......
  • 欧姆龙CP1H CIF11与东元Teco N310变频器通讯实战程序 功能
    欧姆龙CP1HCIF11与东元TecoN310变频器通讯实战程序功能:原创程序,可直接用于现场程序。欧姆龙CP1H的CIF11通讯板,实现对东元TecoN310变频器设定频率,读取实际频率,输出电压。反应灵敏,通讯稳定可靠。后续可根据需要扩展台数时,非常灵活方便。器件:欧姆龙CP1H,CP1WCIF11......
  • 欧姆龙CP1H+CIF11与台达MS300变频器通讯程序 功能:原创程序,可直接用
    欧姆龙CP1H+CIF11与台达MS300变频器通讯程序功能:原创程序,可直接用于现场程序。欧姆龙CP1H的CIF11通讯板,实现对台达MS300变频器设定频率,读取实际频率,输出电压。反应灵敏,通讯稳定可靠。后续可根据需要扩展台数时,非常灵活方便。器件:欧姆龙CP1H,CP1WCIF11串口网关板,台达MS300变......
  • 欧姆龙CP1H+CIF11与3台台达MS300变频器通讯实战程序 功
    欧姆龙CP1H+CIF11与3台台达MS300变频器通讯实战程序功能:原创程序,可直接用于现场程序。欧姆龙CP1H的CIF11通讯板,实现对3台台达MS300变频器设定频率,读取实际频率,输出电压。反应灵敏,通讯稳定可靠。后续可根据需要扩展台数时,非常灵活方便。器件:欧姆龙CP1H,CP1WCIF11串......