eclipse maven maven-compiler-plugin 报错 完全解决

本文详细介绍了Maven安装过程中出现的“Compilation failure”错误的原因及解决步骤,包括检查Eclipse中JRE设置、确保使用正确的Java环境等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错如下:

Maven install失败

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project autotest_fchtgl: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

 

网上找了很多都说了解决方案,但基本只说了其中的第一点,不完全,很多人遇到的问题可能是后面几点造成的。所以无法解决问题。

所以特地研究了一下,完全解决此问题的方案如下:

解决方案如下:

1、确认 eclipse  windows--preferences--java--installed JREs 指定的是JDK安装路径,如果原来为JRE,需修改为JDK

 

2、确认 eclipse windows--perferences--java--installed JREs--execution environments 

 

3、项目 右键 --properties  --  java build path -- libraries  -- jre system library [javaSE-1.8]  双击  -- execution environment: 选项如下图所示 

 

4、项目 --右键  --  run as  -- run confiurations  -- maven build  --  (选择新建的配置 ) --  JRE  --  ALTERNATE JRE: 如下所示

 

经过以上步骤确认后,这个报错可以完全解决

### 解决 Maven 项目中 maven-compiler-plugin 报错问题 当遇到 `maven-compiler-plugin` 的版本错误时,通常是因为插件配置不正确或者依赖项无法解析。以下是针对该问题的具体分析和解决方案。 #### 插件版本冲突 Maven 中的插件版本可能与项目的 JDK 或其他依赖存在兼容性问题。例如,在引用中提到的 `[ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.4.3 [...]` 表明某些插件未能成功加载其依赖[^1]。这可能是由于网络原因、本地仓库损坏或插件版本过旧引起的。 为了修复此问题,可以尝试以下方法: --- #### 方法一:更新插件版本 确保使用的 `maven-compiler-plugin` 是最新稳定版(截至当前时间,推荐使用 3.8.x)。可以在 `pom.xml` 文件中显式指定插件版本号,如下所示: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <!-- 推荐版本 --> <configuration> <source>1.8</source> <!-- 设置编译源码版本 --> <target>1.8</target> <!-- 设置目标字节码版本 --> </configuration> </plugin> </plugins> </build> ``` 通过设置 `<source>` 和 `<target>` 属性,确保编译器支持的目标 JDK 版本与实际环境一致。这里假设您正在使用 JDK 1.8[^2]。 --- #### 方法二:清理并重新构建项目 有时本地缓存可能导致依赖解析失败。可以通过以下命令清除本地仓库中的无效文件并强制重新下载依赖: ```bash mvn clean install -U ``` 参数 `-U` 强制更新快照版本的依赖项。如果仍然存在问题,则需检查 `.m2/repository` 下的相关目录是否存在异常文件,并手动删除后再运行上述命令。 --- #### 方法三:验证 Maven 配置 确认您的 Maven 安装路径以及 JAVA_HOME 是否正确指向有效的 JDK 路径。根据引用内容显示的信息,当前系统的 Java 运行时位于 `/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home`,而这是用于浏览器 Applet 的 JRE 并不适合开发用途。建议修改为标准 JDK 安装位置,例如 `/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk/Contents/Home`。 编辑全局配置文件 `$HOME/.zshrc` 或 `$HOME/.bash_profile` 添加以下变量定义: ```bash export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_XXX.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH ``` 完成后执行 `source $HOME/.zshrc` 刷新环境变量,并再次测试 `mvn -v` 输出以验证更改生效情况。 --- #### 方法四:安装独立 Maven 实例 如果您怀疑现有 Maven 安装有问题,可以选择重新部署一个新的实例。按照官方文档指引完成操作即可[^3]。具体步骤包括但不限于: 1. 访问 Apache Maven 官方网站获取最新压缩包; 2. 将解压后的文件夹移动到合适的位置(如 `/usr/local/maven`); 3. 更新 shell 初始化脚本加入新工具链至系统可访问范围。 --- #### 示例代码片段 下面是一个完整的 POM 文件示例,其中包含了必要的插件声明和其他基础属性设定: ```xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>maven-demo</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> </plugin> </plugins> </build> </project> ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值