Executando WSO2 IS no Ubuntu - CARBON não pode executar Java

1

Estou usando o Ubuntu 16.04 de 64 bits. Estou logado no Ubuntu como user1 . Eu instalei a versão jdk1.8.0_144 do Oracle JDK para /usr/local/java e defini links simbólicos como

$ 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

Em seguida, adicionei o seguinte no arquivo ~/.bashrc .

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

Eu instalei o servidor wso2 IS em /opt diretamente, criando um subdiretório em /opt , de modo que /opt/wso2/is .

Quando tento executar o servidor usando sh wso2server.sh , recebo o erro Permission Denied . No entanto, quando tento sudo sh wso2server.sh , recebo o erro

JAVA_HOME is not correctly defined.
CARBON cannot execute java.

No entanto, quando executo echo JAVA_HOME , mostra a localização correta do java.

As permissões dos diretórios relevantes são:

$ ls -ld /opt/wso2/
drwxr-xr-x 3 root root 4096 Sep 8 20:02 /opt/wso2

$ ls -l /opt/wso2/is
total 4
drwxr-xr-x 10 root root 4096 Sep 8 23:11 wso2is-5.3.0

Minhas perguntas são:

  1. Como resolver o erro CARBON cannot execute java ?
  2. Qual é a maneira correta de implantar / executar esse aplicativo java sem ter que usar sudo ?

Esclarecimentos:

  1. Aplicativo que estou tentando executar: o Identity Server do WSO2.
  2. Como eu instalei o IS: Eu baixei o arquivo de instalação que é um arquivo zip e extraí para /opt usando sudo unzip ~/Downloads -d /opt/wso2/is .
  3. Por que escolhi /opt : sou novo no Linux. Meu entendimento era se eu estou instalando um software manualmente eu deveria usar /usr/local (para software como java runtime) ou /opt para binários. Não tenho certeza se isso está correto.
por swdon 08.09.2017 / 17:21

0 respostas