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:
CARBON cannot execute java
? sudo
? Esclarecimentos:
zip
e extraí para /opt
usando sudo unzip ~/Downloads -d /opt/wso2/is
. /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.