JAVA_HOME设置不正确。如何重置?

时间:2012-03-10 04:35:06

标签: linux maven path environment-variables java-home

当我尝试运行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错误?

6 个答案:

答案 0 :(得分:35)

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路径)

答案 1 :(得分:3)

  1. 转到终端并使用您选择的编辑器(vim,nano等)打开以下任一文件:

    # nano /etc/profile
    

    (或)

    # nano /root/.bash_profile
    

    (而不是root,您也可以更改普通用户名。)

  2. 现在运行以下命令:

    # export JAVA_HOME="/opt/jdk1.6.0"
    # export PATH="/opt/jdk1.6.0/bin:$PATH"
    
  3. 注销并登录系统,现在使用以下命令检查终端中的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)
    

答案 2 :(得分:1)

否...... $ JAVA_HOME必须指向/home/user/jdk1.7.0_02 /

为防止“/ home / user”与“/ home / usr”之类的错误,$ PATH应为“$ PATH:$ JAVA_HOME / bin”

我建议使用原生包(yum,apt-get等)。

答案 3 :(得分:1)

您可以将以下内容放在.bashrc中,即使您更改为其他java也应该是正确的。

a=`realpath /usr/bin/java`;
export JAVA_HOME="${a%/bin/java}"

答案 4 :(得分:0)

因为那不是你设置JAVA_HOME的原因。

http://maven.apache.org/download.html

  

确保将JAVA_HOME设置为JDK的位置,例如export JAVA_HOME = / usr / java / jdk1.5.0_02,$ JAVA_HOME / bin在你的PATH环境变量中。

答案 5 :(得分:0)

JAVA_HOME 通常应该只包含包含 bin 文件夹的文件夹。

所以设置为:

export JAVA_HOME=/usr/lib/jdk1.7.0_02/

export PATH=$PATH:$JAVA_HOME/bin

之后,您还可以使用:

which java