Java Maven编译报错:环境未提供编译器,疑运行JRE而非JDK
问题解决步骤
问题根源
你的Maven当前使用的是JRE 1.8(无编译工具javac),而非你安装的Corretto 11 JDK,导致编译失败。
解决方法
一、修复系统环境变量(命令行生效)
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在系统变量中:
- 新建/修改
JAVA_HOME,值设为Corretto 11的JDK安装目录,比如C:\Program Files\Amazon Corretto\jdk11.0.21(注意不要指向JRE文件夹) - 编辑
Path变量,将%JAVA_HOME%\bin移到最顶部,确保系统优先使用该JDK的工具
- 新建/修改
- 关闭所有命令行窗口后重新打开,执行
mvn -version,确认输出中Java版本为11.0.21,runtime指向JDK目录而非JRE
二、配置IntelliJ IDEA内部环境(IDEA内执行Maven命令生效)
- 打开IDEA,按
Ctrl+Alt+Shift+S打开Project Structure- 选择「Project」标签,设置「Project SDK」为Corretto 11,「Project language level」选11
- 按
Ctrl+Alt+S打开Settings- 进入「Build, Execution, Deployment」→「Build Tools」→「Maven」→「Runner」
- 将「JRE」设置为Corretto 11(或勾选「Use project SDK」)
- 重启IDEA后,在内置Terminal执行
mvn clean package即可
三、可选:在pom.xml中指定编译版本(避免版本冲突)
在项目的pom.xml中添加以下配置,强制Maven使用JDK 11编译:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.1</version> <configuration> <source>11</source> <target>11</target> </configuration> </plugin> </plugins> </build>
内容的提问来源于stack exchange,提问作者Qmails
相关产品推荐
相关产品推荐

