Linux下安装maven, mvn -v报错: JAVA_HOME should point to a JDK not a JRE


官网下载maven上传至服务器,解压后,执行 mvn -v报错,错误内容如下:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

百度查找了一圈,都没有去实质性的解决该问题,故有此文.

检查 apache-maven-3.x.x/bin下的mvn脚本

发现如果有定义$JAVA_HOME的话,则将变量JAVACMD定义为$JAVA_HOME/bin/java
而我安装的是openJDk1.8.0,错误的将JAVA_HOME设置成/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64

通过tree命令(自行安装),可以看到openjdk目录下只有jre目录

 故不能简单的编辑/etc/profile文件

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64

 

解决方案:
1.不设置JAVA_HOME
2.将JRE_HOME设置成 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre

建议:还是老老实实的装oracle的jdk8,不要装openJDK1.8

同理,如若windows下执行mvn -v也报此错,请检查mvn.cmd里JAVA环境变量设置.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM