我安装了java并设置了环境路径,当我执行时,echo $JAVA_HOME我得到以下输出:
/usr/lib/jvm/java-7-oracle/jre/bin/java
Run Code Online (Sandbox Code Playgroud)
我还安装apache-maven并更改了environment文件,现在它看起来像这样:
JAVA_HOME="/usr/lib/jvm/java-7-oracle/jre/bin/java"
M2_HOME=/usr/local/apache-maven/apache-maven-3.0.5
M2=$M2_HOME/bin
MAVEN_OPTS="-Xms256m -Xmx512m"
PATH=$M2:$PATH
Run Code Online (Sandbox Code Playgroud)
但是当我执行时,mvn --version我得到一个警告:
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/lib/jvm/java-7-oracle/jre/bin/java/bin/java
Run Code Online (Sandbox Code Playgroud)
无法找出最终重复的原因 /bin/java/bin/java
我使用的是 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 …Run Code Online (Sandbox Code Playgroud)