Linux下compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK解决

前言

在使用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的安装

排错思路

  1. 我在bash_profile配置的是jdk,不是jre,刚开始报错我是不理解的。

可以看到,配置的jdk1.8.0_201。

  1. 我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,详细且认真。文章会在公众号 [入门到放弃之路] 首发,期待你的关注。

感谢每一次遇见

猜你喜欢

转载自blog.csdn.net/CatchLight/article/details/129447223