当前位置: 首页 > 知识库问答 >
问题:

Maven编译失败。此环境中未提供编译器[Mac OS]

慕鹏
2023-03-14

Maven突然停止编译,出现以下错误。今天早上它起作用了,我不确定是什么原因造成的。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project ExampleProject: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
  • 操作系统: 苹果
  • 机器: 苹果电脑专业版
  • 爪哇: 1.8.0_201 (jdk8)
  • 专家:3.8.1

我尝试了什么:

  • 检查Java编译器是否存在
$ javac -version
javac 1.8.0_201

>

  • 检查$JAVA_HOME:我得到了/Library/Java /JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home,根据Maven的安装说明,这对于Mac OS是正确的

    在编译前将mvn添加到PATH

    重新安装了Maven 3.8.1

    重新安装JDK8并重置JAVA_HOME

    在我的命令中添加了sudo。事实上,在添加sudo之前,我遇到了一个类似于“无法删除某些内容”的错误。

    不使用“重新打开窗口”重新启动我的笔记本电脑选项。

    将编译器选项添加到< code>pom.xml(今天早上它工作时我不需要它)

    运行mvn-v给我下面的输出

    Maven home: /opt/apache-maven-3.8.3
    Java Version: 1.8.0_201, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre
    Default locale: en_GB, platform encoding: UTF-8
    OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
    

    运行java-version给了我以下输出:

    java version "1.8.0_201"
    Java (TM) SE Runtime Environment (build 1.8.0_201-b09)
    Java HotSpot (TM) 64-Bit Server VM (build 25.201.b09, mixed mode)
    

    我没有使用任何IDE,如日食/智能/网豆。只是纯粹在终端上。请基于此回答。

    我的系统上似乎有两个版本的Maven,可能是因为重新安装的缘故。但是在重新安装之前,这个问题就已经开始了

    https://rou FID . com/no-compiler-is-provided-in-this-environment/

    • 通过查阅Maven的文档,我已经确保JAVA_HOME指向JDK而不是JRE
  • 共有1个答案

    柯凯旋
    2023-03-14

    马文需要爪哇来编译你的项目。你可以尝试javac版本,看看你是否能够获得输出。

    $ javac -version
    javac 1.8.0_201
    

    如果没有,请将JAVA_HOME设置为JDK,而不是JRE. C:\Program Files\Java\jdk1.8.0_202

    如果仍然出现此错误,请尝试打开另一个端子以反映环境变量。试试看。

    问候

     类似资料:
    • 使用以下命令时,我得到以下错误 错误 我已经尝试了已经在线存在的解决方案,但它们都不起作用,我在日食时在已安装的JRE中选择了我的JDK路径。我正在使用乌班图 16.04.有人可以帮忙吗? 我已经尝试了在此环境中未提供编译器中给出的解决方案。也许您正在运行 JRE 而不是 JDK?但这无济于事。我已经正确选择了 JDK 路径

    • 问题内容: 我是Java企业开发领域的新手。我组织的Java专家正在无休假中休假,并且已经分配了维护他开发的某些Java应用程序的任务。他离开之前,在我的计算机上用Maven设置了Eclipse [Kepler SR1],并且看来工作正常。 现在,我准备部署我的第一个修改,并且需要运行Maven ,但是我无法使其正常工作-我在控制台上获得以下输出: [错误]无法在项目mrpapp上执行目标org.

    • 我是Java企业开发领域的新手。我所在组织的Java大师正在无限期探亲假,我被分配了维护他开发的一些Java应用程序的任务。他在离开之前用Maven在我的计算机上安装了Eclipse[Kepler SR1],看起来工作正常。 现在我已经准备好部署我的第一个修改,并且需要运行Maven,但是我很难让它工作--我在我的控制台上得到以下输出: [错误]无法执行目标org.apache.maven.plu

    • 我试图在eclipse中用maven构建一个spark应用程序,但我遇到了一个编译失败。我修正了系统变量,给它提供到JDK的路径,而不是到JRE的路径,如下所示: 并且我将这个字符串添加到变量中,但是没有起作用。因此,我尝试不使用如下但没有新内容。 因此,我尝试通过eclipse来指出我的JDK,如下所示:,我也选择了JDK,但这个解决方案也不起作用,所以我决定使用cmd来修复它: 我检查了,结果

    • 嗨,当我运行我的cmd命令 显然一切都很好,你知道为什么我会犯这个错误吗?谢谢!

    • 当我尝试在maven项目上构建Jenkins时,我收到了这个错误: java和maven插件是自动安装的,经过几次研究,我找不到解决方案! 有没有人遇到过这个问题?