No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK 问题解决
2024-10-19 23:15:33
1. 问题描述
使用idea对Java工程执行mvn compile
命令进行编译,出现以下报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5:compile (default-compile) on project test: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
2. 问题分析
从报错信息上看,是由于环境没有提供编译器,可能编译过程运行在JRE上,而不是JDK上。
查看了idea项目配置的Java编译器为JDK8,且配置的Java路径正确。
执行命令mvn -v
,查看maven的配置。发现runtime的路径有些奇怪。
Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
Maven home: /usr/local/apache-maven-3.8.3
Java version: 1.8.0_311, vendor: Oracle Corporation, runtime: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
3. 解决方案
从网上搜索了解决方案,发现这篇文件介绍的比较靠谱。
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
采用了文章中的方法3,重新设置JAVA_HOME
路径。
- 添加Java环境变量
# cat ~/.bash_profile
export M2_HOME=/usr/local/apache-maven-3.8.3
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home
export PATH=$PATH:$M2_HOME/bin:$JAVA_HOME/bin
- 使环境变量生效
source ~/.bash_profile
- 查看maven配置
# mvn -v
Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
Maven home: /usr/local/apache-maven-3.8.3
Java version: 1.8.0_311, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"
发现maven的runtime运行环境已经正常。
此时再次执行编译命令mvn compile
,发现Java工程可以正常编译,不在出现报错。
最新文章
- iOS开发——UI精选OC篇&;UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍
- python json
- [51单片机] HC-SR04超声波测距仪 基础代码
- hdu2444 判断二分图+最大匹配
- 【php学习】时间函数
- 分享15款为jQuery Mobile定制的插件
- 构建前端Mock Server
- 【面试虐菜】—— Oracle知识整理《收获,不止Oracle》
- Rest中的XML与JSON的序列化与反序列化
- array_walk与array_map 的不同 array_filter
- Basys3在线调试视频指南及代码
- Activity简单几步支持向右滑动返回
- 衡量android开发者水平的面试问题-android学习之旅(91)
- 进到页面后input输入框自动获取焦点
- 错误票据|2013年蓝桥杯B组题解析第七题-fishers
- 2018.11.04 NOIP训练 小水塘(并查集)
- hdu 1.3.1 FatMouse' Trade
- ***Linux系统下如何查看及修改文件读写权限
- oracle11g 导出空表
- Three.js入门篇(一)创建一个场景
热门文章
- 动静分离、Rewirte、HTTPS
- Android官方文档翻译 十六 4.Managing the Activity Lifecycle
- 个人作业2-Java代码实现数据检索并实现可视化
- IExposedPropertyTable与ExposedReference的使用
- 论文解读第三代GCN《 Deep Embedding for CUnsupervisedlustering Analysis》
- VueRouter学习01-基本使用
- Linux深入探索01-stty与键盘信号
- 【webpack4.0】---webpack的基本使用(二)
- 女朋友让我深夜十二点催她睡觉,我有Python我就不干
- Android基本控件Spinner的简单使用【转】