JAVA_HOME 应该指向 JDK 而不是 JRE

JAVA_HOME 应该指向 JDK 而不是 JRE

如果有人能帮助我解决这个问题,那将意义重大,因为我已经看到针对 Windows 的类似问题的回答,但在 Linux 上的问题却不多。我正在运行 Linux mint 20.2 (Uma)。

我在尝试运行我的 Maven 项目时遇到问题,出现错误

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

我已经完全卸载了java和maven并设置了JDK17和JAVA_HOME

$ echo $JAVA_HOME
/usr/lib/jvm/jdk-17.0.2

随着配置文件的设置

$ grep JAVA_HOME /etc/profile

JAVA_HOME=/usr/lib/jvm/jdk-17.0.2
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME

和.bashrc

$ grep JAVA_HOME ~/.bashrc

JAVA_HOME=/usr/lib/jvm/jdk-17.0.2
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME

我还发现一个maven.sh文件/etc/profile.d/将 JAVA_HOME 重定向到旧的 JDK,并且已经将其删除。

但即使在所有这些问题之后,我不知道是否有什么东西仍在将 JAVA_HOME 重定向到旧的 JDK 或者我没有正确设置它,我也不知道在哪里查看是否有东西正在重定向它或如果我有一个别名,因为mvn我不完全熟悉Linux,而且我已经有一段时间没有使用这个系统来回溯我的更改了。

如果有人对如何解决这个问题有任何意见,我们将不胜感激。谢谢大家。

答案1

一个可能的问题可能是路径变量:您同时包含 JRE 和 JDK bin。我建议您将其更改为PATH=$PATH:JAVA_HOME/bin,保持 JDK 二进制文件仅可访问。这就是我的设置,我没有遇到任何问题。

如果这没有帮助,我建议您下载OpenJDK,解压它并将路径更改为下载的 OpenJDK 目录。

相关内容