JAVA_HOME的定义不正确。ubuntu

JAVA_HOME的定义不正确。ubuntu,java,ubuntu,Java,Ubuntu,当我检查maven版本时 $ mvn -version Error: JAVA_HOME is not defined correctly. We cannot execute /usr/lib/jvm/java-8-oracle/bin/java 如何解决? 这是我的JavaJDK版本 $ java -version openjdk version "1.8.0_171" OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0u

当我检查maven版本时

$ mvn -version

Error: JAVA_HOME is not defined correctly.
  We cannot execute /usr/lib/jvm/java-8-oracle/bin/java
如何解决? 这是我的JavaJDK版本

$ java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)


$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

确保JAVA_HOME变量设置为JRE文件夹,如下所示:

/usr/lib/jvm/java-8-oracle/jre

为了进一步改进您的设置,您可以让Java选择正确的版本,方法是将其放在Java_主页中(假设您使用了Oracle安装程序):

export JAVA\u HOME=$(/usr/libexec/JAVA\u HOME)


如果这对您不起作用,请确保权限设置正确(对二进制文件执行权限)

确保JAVA\u HOME变量设置为JRE文件夹,如下所示:

/usr/lib/jvm/java-8-oracle/jre

为了进一步改进您的设置,您可以让Java选择正确的版本,方法是将其放在Java_主页中(假设您使用了Oracle安装程序):

export JAVA\u HOME=$(/usr/libexec/JAVA\u HOME)


如果这对您不起作用,请确保权限设置正确(对二进制文件执行权限)

运行命令
which java
并报告结果。也许您需要将$java_HOME/bin添加到路径中。也许运行
which-a java
只是为了列出所有可能性。@zero298which-a java/usr/bin/java为java设置环境可能会很痛苦。它可以根据用户和系统的不同而不同。我经常创建一个shell脚本来启动java应用程序,以确保正确设置环境。这还有一个额外的优点,即不用“java-jarmyapp.jar”启动它,而可以用“myapp”启动它就像地球上几乎所有其他类型的应用程序一样。运行命令
which java
并报告结果。也许你需要在路径中添加$java_HOME/bin。也许运行
which-a java
只是为了列出所有的可能性。@zero298which-a java/usr/bin/java为java设置环境可能会很痛苦。它可以根据用户和系统的不同而不同。我经常创建一个shell脚本来启动java应用程序,以确保正确设置环境。这样做还有一个额外的优点,那就是不用“java-jarmyapp.jar”启动它,你可以像地球上几乎所有其他类型的应用一样,用“myapp”启动它。