【问题标题】:WSO2 Identity Server - Carbon cannot execute JavaWSO2 身份服务器 - Carbon 无法执行 Java
【发布时间】:2018-02-17 12:23:01
【问题描述】:

我使用的是 Ubuntu 16.04 64 位。我在/usr/local/java 中安装了Oracle JDK jdk1.8.0_144 并设置符号链接如下。

$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_144/jre/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_144/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_144/jre/bin/javaws" 1
$ sudo update-alternatives --set java /usr/local/java/jdk1.8.0_144/jre/bin/java
$ sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_144/bin/javac
$ sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_144/jre/bin/javaws

之后,我按照WSO2文档中的安装指南,设置JAVA_HOME如下。

nano /.bashrc

添加变量:

export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=${JAVA_HOME}/bin:${PATH}

我关闭旧终端并打开一个新终端并运行:

echo $JAVA_HOME

我明白了

/usr/local/java/jdk1.8.0_144

但是,当我运行 sh wso2server.sh 时,我得到了错误:

JAVA_HOME is not defined correctly.
CARBON cannot execute java

错误。

【问题讨论】:

  • 尝试用下面的引号将 JAVA_HOME 路径括起来,export JAVA_HOME="/usr/local/java/jdk1.8.0_144"

标签: java wso2 ubuntu-16.04 wso2is


【解决方案1】:

您应该尝试将以下内容添加到您的.bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/jre/bin:$PATH

有类似问题:Ubuntu: JAVA_HOME is not defined correctly

这个问题还有很多其他原因:

1) 您正在以超级用户 (sudo) 身份运行服务器,这不是必需的。但是我认为您没有在超级用户环境中设置JAVA_HOME

2) 你可以试试:sudo JAVA_HOME=/usr/lib/jvm/java-7-oracle ./wso2server.sh

3) 您可能应该将JAVA_HOME 设置为/usr/lib/jvm/jdk1.7.0/jre 而不是/usr/lib/jvm/jdk1.7.0

4) 您的 Identity Server 版本不支持 java 8。

【讨论】:

【解决方案2】:

替换 wso2server.sh 第 52 行中的 java 主路径

#JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home

JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

【讨论】:

    猜你喜欢
    • 2015-07-22
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    相关资源
    最近更新 更多