首页 > 其他分享 >解决Maven编译出错——不再支持源选项 5,请使用 8 或更高版本。

解决Maven编译出错——不再支持源选项 5,请使用 8 或更高版本。

时间:2024-08-22 09:15:16浏览次数:8  
标签:INFO maven 21 classloader Maven 编译 出错 版本 test

问题

在idea中新建了空maven模组后,尝试启动它默认提供的主方法,编译出错提示:

[INFO] 
[INFO] ------------------< org.rhythm.test:classloader-test >------------------
[INFO] Building classloader-test 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ classloader-test ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ classloader-test ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to F:\Projects\JavaProjects\JVM_study\classloader-test\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] 不再支持源选项 5。请使用 8 或更高版本。
[ERROR] 不再支持目标选项 5。请使用 8 或更高版本。

解决方法

1.配置pom.xml

新建的maven工程的pom.xml文件中若不包含下面的代码片段,需要手动添加,以确保 Maven 项目使用 Java 21 版本进行编译(设置为你自己的Java版本),并且源代码的字符编码为 UTF-8。

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version> <!-- 使用最新版本 -->
                <configuration>
                    <source>21</source> <!-- 设置源代码版本为 Java 21 -->
                    <target>21</target> <!-- 设置目标平台版本为 Java 21 -->
                </configuration>
            </plugin>
        </plugins>
    </build>

2.检查Maven的JRE版本

设置使用项目的JDK版本

image

3.检查模组的SDK版本

设置使用项目的SDK版本

image

image

解决问题

image

image

标签:INFO,maven,21,classloader,Maven,编译,出错,版本,test
From: https://www.cnblogs.com/marsh-mallow/p/18373025

相关文章

  • C#winform软件实现一次编译,跨平台windows和linux、mac兼容运行
    一、背景:微软的.netcore开发工具,目前来看,winform界面软件还没有打算要支持linux系统下运行的意思,要想让c#桌面软件在linux系统上运行,开发起来还比较麻烦。微软只让c#的控制台软件支持在linux运行。二、解决方案:我想到的一个方案是自定义封装软件的System.Windows.Forms组件,把......
  • qt静态编译 全自动编译qt静态库 qt5 windows安装qt (2024.2.23)
    全自动编译qt5静态库(2024.2.23)本教程是从无到有配置qt.io和vcpkg实现全自动编译qt5的静态库,使得您可以静态编译qt项目0.安装VisualStudio2022这个我就不多解释了,直接去官网下载社区版本,勾选使用C++的桌面开发安装好就行1.安装qt.io的开发环境1.1下载在线安装包并且配......
  • nginx源码编译自定义版本号
    1.下载1.20.2源码包[root@localhostservice]#cd/data/build/nginx-1.20.2/[[email protected]]#lsautoCHANGESCHANGES.ruconfconfigurecontribhtmlLICENSEMakefilemanobjsREADMEsrc2.在nginx源码包中编辑此文件src/core/nginx.h修......
  • MapStruct+Maven+Lombok问题NoSuchBeanDefinitionException、does not have an access
    概述先直接说我遇到的问题吧,SpringBoot应用启动失败:ERROR|org.springframework.boot.web.embedded.tomcat.TomcatStarter|onStartup|61|-ErrorstartingTomcatcontext.Exception:org.springframework.beans.factory.UnsatisfiedDependencyException.Message:Er......
  • maven本地jar包打包时无法打进jar的解决方式
    <dependency><groupId>cfca-logback</groupId><artifactId>cfca-logback</artifactId><version>4.2.1.0</version><scope>system</scope><systemPath>${project.basedir}/libs/logback......
  • WDK7600编译驱动时链接asm的一些设置
    把一些以前零碎的知识点记下来,完整内容请参考https://zhuanlan.zhihu.com/p/638768999主要于关于嵌入汇编时的一些写法。如果你要编译的是32位驱动,且有一个asm文件需要参与编译(其实32位可以直接内联汇编的,所以一般不需要单独写成asm文件,不过也记录一下)那么要把这个文件放在源......
  • 解决lazarus 3.xx后在linux编译为Qt出错方法
    今天用lazarus3.4在银河麒麟将应用编译为Qt5出现以下错误信息:Warning:linker:/usr/bin/ld.bfd:/home/lb/fpcupdeluxe34/lazarus/lcl/units/aarch64-linux/qt5/qtint.o:infunction`QTINT$_$TQTWIDGETSET_$__$$_CREATE$$TQTWIDGETSET':Error:qtint.pp:(.text.n_qtint$_$t......
  • C语言编译预处理详细易懂版
    C语言允许在源程序中包含编译预处理命令,他们以"#"开头,包括宏定义、文件包含和条件编译。本博客主要详细介绍宏定义、文件包含和条件编译。一、宏定义1、无参数的宏定义是指用一个指定的标识符来代表一个字符串,一般格式如下:#define 宏名 字符串说明:①#表示预处理命......
  • lazarus 编译时切换QT5/GTK2的方法
    lazarus编译时可以随时切换QT5/GTK2,方法如下:在project菜单-->options-->compileroptions-->additionsandoverrides点Set"LCLWidgetType"选择QT5或其他然后重新编译应用就可以。带menu、combobox等控件(在银河麒麟)的应用,用GTK2时有深灰的背景,QT5编译的整体会好点。注意:fastrepor......
  • ESP-WROOM32编译带LVGL的MicroPython | lv_micropython for ESP32
    ESP-WROOM32编译带LVGL的MicroPython|lv_micropythonforESP32有关LVGL和MicroPython的详细信息,请访问以下链接:lv_micropythonGitHub仓库ESP32端口目录说明lv_micropython已经包含了这些驱动程序:lv_micropython最大支持到v4.4版本,因此需要下载esp-idfv4.4......