2017-09-08 69 views
0

我正在使用Ubuntu 16.04 64位。我在/usr/local/java中安装了Oracle JDK jdk1.8.0_144,并设置符号链接如下。WSO2身份认证服务器 - Carbon无法执行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 

在那之后,我跟着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时,我得到了错误r:

JAVA_HOME is not defined correctly. 
CARBON cannot execute java 

错误。

+0

尝试封闭与报价如下JAVA_HOME路径, '出口JAVA_HOME = “在/ usr /本地/ JAVA/jdk1.8.0_144”' – pulasthi7

回答

0

你应该尽量添加以下到您的.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)您的身份Server版本不支持java 8.

+0

身份服务器从版本5.1.0开始支持java 8。请参阅https://docs.wso2.com/display/IS510/Installation+Prerequisites – pulasthi7

相关问题