JAVA_HOME 设置不正确。如何重置它?
Posted
技术标签:
【中文标题】JAVA_HOME 设置不正确。如何重置它?【英文标题】:JAVA_HOME incorrectly set. How to reset it? 【发布时间】:2012-03-27 11:43:44 【问题描述】:当我尝试运行mvn
(即Apache Maven)时,我不断收到error "JAVA_HOME" not set.
我按照说明设置JAVA_HOME
变量如下;在终端:
user@localhost$export JAVA_HOME=/home/user/jdk1.7.0_02/bin/java
user@localhost$export PATH=$PATH:/home/usr/jdk1.7.0_02/bin
这看起来是对的,对吧?那我怎么还是收到不正确的JAVA_HOME
错误呢?
【问题讨论】:
【参考方案1】:JAVA_HOME
通常应该只包括包含 bin 文件夹的文件夹。
所以设置为:
export JAVA_HOME=/usr/lib/jdk1.7.0_02/
export PATH=$PATH:$JAVA_HOME/bin
之后,您还可以使用以下方法进行验证:
which java
【讨论】:
【参考方案2】:你可以在你的.bashrc中加入以下内容,那么即使你换成不同的java也应该是正确的。
a=`realpath /usr/bin/java`;
export JAVA_HOME="$a%/bin/java"
【讨论】:
【参考方案3】:JAVA_HOME 通常应该只包含包含 bin 文件夹的文件夹。
所以你的情况
export JAVA_HOME=/home/user/jdk1.7.0_02/
export PATH=$PATH:$JAVA_HOME/bin
除了查找您的 java_home 的位置,您还可以执行此命令
which java
(这将返回当前 java 二进制文件的路径。这里是 /usr/bin/java)
ls -alh /usr/bin/java
( 这将返回符号链接的真实路径。在这里是 /etc/alternatives/java。
ls -alh /etc/alternatives/java
(这将返回此符号链接的真实路径,即实际的 JAVA HOME 路径)
【讨论】:
【参考方案4】:转到终端并使用您选择的编辑器(vim、nano 等)打开以下任一文件:
# nano /etc/profile
(或)
# nano /root/.bash_profile
(您也可以更改普通用户名,而不是 root。)
现在运行以下命令:
# export JAVA_HOME="/opt/jdk1.6.0"
# export PATH="/opt/jdk1.6.0/bin:$PATH"
注销并登录系统,现在使用以下命令检查终端中的 java 版本:
# java -version
输出应该类似于:
# java -version
java version “1.6.0″
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
【讨论】:
【参考方案5】:因为这不是您将 JAVA_HOME 设置为的内容。
http://maven.apache.org/download.html
确保将 JAVA_HOME 设置为 JDK 的位置,例如export JAVA_HOME=/usr/java/jdk1.5.0_02 并且 $JAVA_HOME/bin 在您的 PATH 环境变量中。
【讨论】:
【参考方案6】:不... $JAVA_HOME 必须指向 /home/user/jdk1.7.0_02/
为防止出现“/home/user”与“/home/usr”之类的错误,$PATH 应为“$PATH:$JAVA_HOME/bin”
我建议使用本机软件包(yum、apt-get 等)。
【讨论】:
以上是关于JAVA_HOME 设置不正确。如何重置它?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 /etc/environment 中正确设置 JAVA_HOME