前言
在使用maven编译hudi的最后阶段,报错了:“compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK”。

意思就是你配置的是一个java运行时环境JRE(Java Runtime Environment),而不是Java开发环境JDK。这俩的区别就是jre负责运行程序,jdk既能运行程序,又能编译程序。所以jre是jdk的子集。
所以:配置Java环境的时候,只需要配置JDK,不需要JRE。
安装JDK可以参考下面文章。
windows/linux/mac下JDK的安装
排错思路
- 我在bash_profile配置的是jdk,不是jre,刚开始报错我是不理解的。

可以看到,配置的jdk1.8.0_201。
- 我java -version了一下,一看是OpenJDK,我明白了,原来我配置的JDK没有生效。

那应该把OpenJDK卸载了就OK了。
卸载OpenJDK
# 找到openjdk的安装包
rpm -qa | grep java
# 卸载oepnjdk
yum -y remove java-1.8.0-openjdk-headless-1.8.0.332.b09-1.el7_9.x86_64


卸载成功之后,java -version查看,JDK成了201版本的了

然后编译成功了。
结语
如果是windows遇到这种问题,看看系统环境变量里面是不是配置的jre路径,一定不要配jre路径!!
95后小程序员,写的都是日常工作中的亲身实践,置身于初学者的角度从0写到1,详细且认真。文章会在公众号 [入门到放弃之路] 首发,期待你的关注。

在尝试使用Maven编译Hudi时遇到错误提示,指出运行环境是JRE而非JDK。文章解释了JRE和JDK的区别,并指导读者检查和确认配置的是JDK。作者发现系统中配置的JDK未生效,实际运行的是OpenJDK,于是卸载OpenJDK并确保环境变量指向正确的JDK版本,最终成功编译。对于Windows用户,文章建议检查系统环境变量是否配置了JRE路径。
508

被折叠的 条评论
为什么被折叠?



