Ubuntu:JAVA_HOME没有正确定义

问题描述:

我想在Ubuntu 14.04中安装一些软件(Shibboleth)。我已经安装在/usr/lib/jvm/ Java 7的OpenJDK的,我有这些行/usr/environmentUbuntu:JAVA_HOME没有正确定义

JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64" 
export JAVA_HOME 

如果我型我echo $JAVA_HOME正确得到/usr/lib/jvm/java-7-openjdk-amd64。 但是,当我尝试安装Shibboleth时,我总是得到Error: JAVA_HOME is not defined correctly. Cannot execute java

有趣的是,如果我输入java命令它的工作原理(它指的是/ usr/lib/java这是一个正确的链接)。然而,当我尝试运行的Shibboleth的bash bin/install.sh,我得到的JAVA_HOME错误

我已经尝试设置JAVA_HOME与相同的结果jre文件夹。有任何想法吗?

+0

首先安装必要的软件包'apt-get install openjdk-7-jre-headless' 'apt-get install tomcat7'并参见。 –

+0

我已经安装了它们两个 – Arturo

添加两个JAVA_HOME & PATH~/.profile

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 
export PATH=$JAVA_HOME/bin:$PATH 

而且,添加下列内容/etc/profile.d/java.sh

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 
export JAVA_HOME 
PATH=${JAVA_HOME}/bin:${PATH} 
export PATH 
JRE_HOME=/usr/lib/jvm/jre 
export JRE_HOME 
JAVA_OPTS="-XX:+AggressiveOpts -Xms256m -Xmx512m -XX:MaxPermSize=256m -XX:+DisableExplicitGC" 
export JAVA_OPTS 

欲了解更多信息,请参阅Documentation

希望它有帮助。

+0

我试过但同样的错误。有趣的是,如果我输入“java”命令,它的工作原理。但是,当我尝试运行Shibboleth的“bash bin/install.sh”时,出现JAVA_HOME错误。 – Arturo

+1

更新了我的答案,希望现在有所帮助 –

+0

还是一样的错误。所有这些变量是否定义为不带引号都可以吗?我甚至没有.bash_profile或/etc/profile.d/java.sh文件 – Arturo

您应该设置找到java,javac文件的bin文件夹的路径。 在你的情况下,它可能是/ usr/lib目录/ JVM/Java的7-的OpenJDK,AMD64/bin中

+0

已经尝试过,结果相同。请注意,我可以正确运行“java”命令。当我尝试在Shibboleth上运行bin/install.sh时,显示错误。 – Arturo