当我尝试运行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
错误?
答案 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)
转到终端并使用您选择的编辑器(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)
答案 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