在Ubuntu上没有正确定义JAVA_HOME?

问题描述 投票:11回答:6

我想在Ubuntu 14.04中安装一些软件(Shibboleth)。我已经在/usr/lib/jvm/中安装了Java 7 OpenJDK,我在/usr/environment中有这些行

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文件夹,结果相同。有任何想法吗?

java ubuntu openjdk java-home
6个回答
20
投票

JAVA_HOMEPATH添加到你的~/.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

希望能帮助到你。


2
投票

代替

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

我做到了

EXPORT JAVA_HOME='/usr/lib/jvm/java-1.7.0-openjdk-amd64'

作品。


1
投票

根据你的编辑。

sudo vim /etc/profile

在文件末尾添加这两行

export JAVA_HOME="/usr/lib/jvm/java-8-oracle"  
export PATH=JAVA_HOME/bin:$PATH

然后

source /etc/profile

校验

mvn -version

0
投票

你应该设置bin文件夹的路径,其中找到java,javac文件。在你的情况下,它可能是/ usr / lib / jvm / java-7-openjdk-amd64 / bin


0
投票

我发的是你运行的install.sh脚本的java路径错误。

使用nano编辑文件

    sudo nano idp-install.sh

或vim编辑器

    vim idp-install.sh

并更改与java路径对应的行并添加正确的java路径。这将解决您的问题。

附:此解决方案特定于Shibboleth安装的java路径。


0
投票

从Ubuntu终端执行:

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

测试maven运行:

mvn --version

它会给出输出:

Maven home: /usr/share/maven
Java version: 1.7.x.xxx, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-47-generic", arch: "amd64", family: "unix"
© www.soinside.com 2019 - 2024. All rights reserved.