🚀 作者主页: 有来技术
🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot
🌺 仓库主页: Gitee 💫 Github 💫 GitCode
💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正!

问题概括

在微服务聚合工程 youlai-mall 执行 mvn install 安装子模块 jar 包到本地仓库提供给其他模块引用时出现错误如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project common-core: Fatal error compiling: 无效的标记: --release -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :common-core


原因分析

根据错误信息 Fatal error compiling: 无效的标记: --release 可以判断,Maven 在构建过程中遇到了不认识 --release 编译选项的问题。这表明项目当前使用的 JDK 版本低于 Java 9,因为 --release 选项是在 Java 9 或更新的版本中引入的,用于确保编译出的类文件与指定版本的 Java 运行时环境相兼容。

因为 youlai-mall 所需的 JDK 版本是 17,出现上面问题是本地或者项目中设置的 JDK 是老版本 8。

解决方案

为了确保在IDEA的项目中使用正确的 JDK 版本 17,请按照以下步骤操作:

1. 安装 JDK 17

首先确保你的计算机上安装了 JDK 17。你可以从 Oracle 官网或其他 JDK 提供商下载并安装 JDK 17。
安装JDK 17的教程:Windows 安装 JDK 17

2. 打开项目设置

访问 File > Project Structure(或者直接按 Ctrl+Alt+Shift+S 快捷键)。
在这里插入图片描述

3. 设置 Project SDK:

在打开的“Project Structure”窗口中,选择左侧的 Project 选项卡。

  1. 在 Project SDK 部分,你可以选择已安装的 JDK 17
  2. 确保 Project language level 设置也对应你所使用的 JDK 版本,即选择 SDK default 或 17
    在这里插入图片描述

4. 设置模块 SDK

在同一窗口的左侧,选择 Modules。确保所有相关模块的 Module SDK 也设置为 JDK 17。
在这里插入图片描述

5. 设置 Maven 的 JDK

可以使用命令 mvn -v 来查看 Maven 使用的 JDK 版本。
在这里插入图片描述
Maven 默认使用电脑中配置的 JAVA_HOME 环境变量所指定的 JDK 版本。如果需要 Maven 使用 JDK 17,你应该将 JAVA_HOME 环境变量设置为指向 JDK 17 的安装路径。若需同时保留 JDK 8 和 JDK 17,可以参考这篇文章:Windows 安装 JDK 8 和 JDK 17 和多版本JDK切换
在这里插入图片描述
设置好环境变量,重启 IDEA 再次查看 Maven 使用的JDK 版本
在这里插入图片描述

结果验证

mvn install -DskipTests

在这里插入图片描述
构建成功。
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐