WSO2 身份服务器 - Carbon 无法执行 Java

swd*_*don 6 java wso2 ubuntu-16.04 wso2-identity-server

我使用的是 Ubuntu 16.04 64 位。我安装了 Oracle JDKjdk1.8.0_144/usr/local/java设置了符号链接,如下所示。

$ 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
Run Code Online (Sandbox Code Playgroud)

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

nano /.bashrc
Run Code Online (Sandbox Code Playgroud)

添加了变量:

export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=${JAVA_HOME}/bin:${PATH}
Run Code Online (Sandbox Code Playgroud)

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

echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

我得到

/usr/local/java/jdk1.8.0_144
Run Code Online (Sandbox Code Playgroud)

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

JAVA_HOME is not defined correctly.
CARBON cannot execute java
Run Code Online (Sandbox Code Playgroud)

错误。

Mak*_*iuk 4

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

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/jre/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

还有类似的问题:Ubuntu: JAVA_HOME is not Defined正确

造成此问题的原因还有很多:

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。