📌  相关文章
📜  无法在项目 a2 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile):编译失败 [错误] 此环境中未提供编译器.也许您在 JRE 而不是 JDK 上运行?(1)

📅  最后修改于: 2023-12-03 15:40:07.568000             🧑  作者: Mango

Maven编译插件报错:无法在项目 a2 上执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile):编译失败 [错误] 此环境中未提供编译器.也许您在 JRE 而不是 JDK 上运行?

这个错误出现的原因是我们运行Maven的版本过低或者缺少必要的JDK环境。Maven编译插件需要在JDK环境下才能正常编译项目。

为了解决这个问题,可以采取以下几种方法:

1.检查Maven版本

检查Maven是否是最新版本,如果不是则可以尝试升级到最新版本。执行以下命令:

mvn -v

如果发现Maven的版本号较低,则需要升级。升级方法可以通过以下命令:

brew update
brew upgrade maven
2.安装JDK

检查系统中是否已经安装了JDK,如果未安装则需要将JDK安装到系统中。具体安装过程可以参考官方文档:JDK下载

3.配置环境变量

如果已经安装了JDK,但是Maven还是提示未找到编译器,则需要配置环境变量。在~/.bashrc~/.zshrc文件中添加下面的语句:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

其中,JAVA_HOME的路径需要根据实际情况修改成自己的JDK安装路径。

4.使用项目自带JDK

对于某些开源项目,在编译时需要使用项目自带的JDK。这时候就需要在pom.xml文件中配置maven-compiler-plugin插件。具体方法可以参考以下配置:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.7.0</version>
      <configuration>
        <jdkToolchain>
          <version>11</version>
        </jdkToolchain>
      </configuration>
    </plugin>
  </plugins>
</build>

以上四种方法都可以解决Maven编译插件报错的问题,具体方法根据实际情况选择即可。