You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven打包报错:环境未提供编译器,新手求助HelloWorld打包JAR

搞定Maven打包时的"No compiler is provided in this environment"错误

嘿,作为Maven新手碰到这个问题太正常了,我来帮你一步步解决它!这个错误本质就是Maven找不到Java编译器(javac),大概率是JDK/JRE或者环境变量的问题,咱们逐个排查:

1. 先确认你装的是JDK不是JRE

Maven打包需要编译代码,而JRE(Java运行环境)只有运行代码的能力,没有编译器;JDK(Java开发工具包)才带javac。你打开终端/命令行,分别输入:

java -version
javac -version

如果javac提示“找不到命令”,那就是只装了JRE,赶紧去装对应版本的JDK(OpenJDK或者Oracle JDK都行)。

2. 把JAVA_HOME环境变量配置对

  • 系统环境变量里的JAVA_HOME必须指向JDK的安装目录,绝对不能是JRE的路径!比如Windows下可能是C:\Program Files\Java\jdk1.8.0_301,Linux/macOS下可能是/usr/lib/jvm/java-8-openjdk-amd64。
  • 配置完记得重启终端,输入echo %JAVA_HOME%(Windows)或者echo $JAVA_HOME(Linux/macOS),确认路径是对的。

3. 给Maven指定JDK版本(可选但靠谱)

如果环境变量没问题还是报错,可以在Maven的配置文件里强制指定JDK版本:
找到Maven安装目录下的conf/settings.xml,或者用户目录.m2/settings.xml,在<profiles>标签里加这段配置(把版本换成你装的JDK版本):

<profile>
  <id>jdk-custom</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk> <!-- 换成你的JDK版本,比如11、17 -->
  </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>

4. IDE里的配置也要检查(如果用IDE开发)

要是你在IDEA、Eclipse里跑Maven命令,别忘了检查IDE的项目配置:

  • IDEA:File → Project Structure → Project,确认「Project SDK」选的是JDK,不是JRE;
  • Eclipse:Window → Preferences → Java → Installed JREs,确保添加的是JDK,然后项目的Build Path里也用这个JDK。

对了,你的pom.xml里packaging标签没写完哦,记得补成<packaging>jar</packaging>,这样Maven才会帮你打包成JAR文件~

内容的提问来源于stack exchange,提问作者user182944

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:26:40