我使用的是 Ubuntu 16.04 64 位。我以 身份登录 Ubuntu user1
。我将 Oracle JDK 版本 jdk1.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
~/.bashrc
然后我在文件中添加了以下内容。
export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=${JAVA_HOME}/bin:${PATH}
我通过在如下位置/opt
创建一个子目录来直接安装 wso2 IS 服务器。/opt
/opt/wso2/is
当我尝试使用运行服务器时,sh wso2server.sh
我收到Permission Denied
错误。但是,当我尝试时,sudo sh wso2server.sh
我收到错误
JAVA_HOME is not correctly defined.
CARBON cannot execute java.
但是,当我运行它时,echo JAVA_HOME
它显示了 java 的正确位置。
相关目录的权限为:
$ 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
我的问题是:
- 如何解决错误
CARBON cannot execute java
? - 无需使用即可部署/运行此 Java 应用程序的正确方法是什么
sudo
?
澄清:
- 我正在尝试运行的应用程序:来自 WSO2 的身份服务器。
- 我如何安装 IS:我下载了安装文件(一个
zip
文件)并将其提取出来以/opt
供使用sudo unzip ~/Downloads -d /opt/wso2/is
。 - 我为什么选择
/opt
:我是 Linux 新手。我的理解是,如果我手动安装软件,我应该使用/usr/local
(对于像 Java 运行时这样的软件)还是/opt
二进制文件。不确定这是否正确。