Maven报错compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

本文详细解析了在Eclipse中使用Maven构建项目时遇到的Nocompilerisprovidedinthisenvironment错误原因及解决方案,涉及环境配置冲突、JRE与JDK设置调整,以及如何正确配置settings.xml文件。

在使用eclipse过程中Maven构建项目过程中报错

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

原因是eclipse的环境配置有问题,
windows-preferences-java-installed JREs中配置为jre
而maven的conf/settings.xml中配置为JDK

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

因此产生冲突

解决方案:

将eclipse中installed-JREs内容替换为JDK

在这里插入图片描述
1,点击add
在这里插入图片描述
2.选择standard VM next>

在这里插入图片描述
3 JRE home 点击 directory 选择JDK目录

点击finish
apply and close


到此,环境配置更新完成,但是需要将已经建好的Maven项目修改下配置
在这里插入图片描述
项目右键 build path – configure build path

libraries标签下

选中JRE System Library , 点击edit
在这里插入图片描述
选择JDK
applyandclose

然后再compile

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

### 解决方案 在 IntelliJ IDEA 中遇到“No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?” 的错误提示时,通常是因为当前环境正在使用 Java Runtime Environment (JRE),而未正确配置 Java Development Kit (JDK)[^1]。以下是具体的解决方案: #### 配置正确的 JDK 路径 确保在 IntelliJ IDEA 中已正确指定 JDK 的路径。可以通过以下方式完成: 1. 打开 **File → Project Structure**。 2. 在 **Project Settings** 下选择 **Project**。 3. 将 **Project SDK** 设置为已安装的 JDK 版本[^2]。 #### 检查项目的模块设置 除了全局项目设置外,还需要确认单个模块是否也指定了正确的 JDK: 1. 在 **Project Structure** 对话框中,导航到 **Modules**。 2. 选中对应的模块并验证其 **Module SDK** 是否指向有效的 JDK 安装位置。 #### 环境变量配置 如果上述操作仍未解决问题,则可能需要检查系统的 `JAVA_HOME` 环境变量是否正确设置了 JDK 的根目录。例如,在 macOS 上可以将其设为 `/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home`[^5];而在 Windows 或 Linux 平台上则应根据实际安装路径调整。 另外需要注意的是,当使用 Maven 构建工具时,可能会因为多个版本冲突而导致异常行为。此时可以在命令脚本文件(如 mvn.cmd)的第一行手动定义唯一的 JAVA_HOME 值来规避此类问题[^4]: ```batch set JAVA_HOME=D:\jdk1.8 ``` 最后提醒一点,对于某些特定场景下的集成开发需求来说,还应当考虑 IDE 和构建插件之间的兼容性关系——比如较新的 Idea 版本搭配过高版次的外部 Maven 可能引发额外麻烦,适当降级后者往往能够有效缓解这些矛盾状况。 ```python # 示例代码片段用于演示如何通过 Python 查找系统中的 JAVA_HOME import os def get_java_home(): return os.environ.get('JAVA_HOME') print(f"Current JAVA_HOME setting: {get_java_home()}") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值