如何修复maven错误 JAVA_HOME环境变量定义不正确 [英] How to fix the maven error The JAVA_HOME environment variable is not defined correctly

查看:488
本文介绍了如何修复maven错误 JAVA_HOME环境变量定义不正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在虚拟环境中检查 maven 的版本时,出现以下错误:

JAVA_HOME 环境变量定义不正确运行这个程序需要这个环境变量注意:JAVA_HOME 应该指向 JDK 而不是 JRE

但是,我可以在虚拟环境之外打印 maven 的版本

mvn -versionApache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T00:58:13-07:00)Maven 主页:/usr/local/Cellar/maven/3.5.2/libexecJava 版本:1.8.0_152,供应商:Oracle CorporationJava 主页:/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre默认语言环境:en_US,平台编码:UTF-8操作系统名称:mac os x",版本:10.11.6",架构:x86_64",系列:mac"

我在 ~/.bash_profile 中使用了 set

set JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk设置 PATH=$JAVA_HOME/jre/bin:$PATH

我不明白错误,因为 JAVA_HOME 指向的是 JDK 而不是 JRE?谢谢回答!

解决方案

这不正确:

<块引用>

set JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk

注意mvn的输出告诉你Java home的位置是/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre.所以JDK home的位置大概是/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home.

其次,您需要export变量,而不仅仅是set.

这样写:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home

更新您的 ~/.bash_profile 后,测试设置是否正确,启动一个新的 shell,并检查 echo $JAVA_HOME 的输出.

When I check on maven's version on a virtual environment, I get the following errors:

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

However, I am able to print maven's version outside of virtual environment

mvn -version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T00:58:13-07:00)
Maven home: /usr/local/Cellar/maven/3.5.2/libexec
Java version: 1.8.0_152, vendor: Oracle Corporation
Java home:  /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac"

I have used set in ~/.bash_profile

set JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk
set PATH=$JAVA_HOME/jre/bin:$PATH

I don't understand the error as JAVA_HOME is pointing to a JDK and not a JRE? Thanks for answering!

解决方案

This is not correct:

set JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk

Notice that the output of mvn tells you the location of Java home is /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre. So the location of the JDK home is probably /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home.

Secondly, you need to export the variable, not just set it.

Write like this:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home

After you update your ~/.bash_profile, to test that the setup is correct, start a new shell, and check the output of echo $JAVA_HOME.

这篇关于如何修复maven错误 JAVA_HOME环境变量定义不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆