java - JAVA_HOME 应该指向 JDK 而不是 JRE(但确实如此)
问题描述
当我尝试执行时,mvn clean install
我收到以下消息:
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
但是当我这样做时echo $JAVA_HOME
,我得到以下输出:/usr/java/openjdk/jdk-16
这意味着它JAVA_HOME
指向一个JDK。我没有得到错误。
我的 $PATH 变量也包含 jdk:
echo $PATH
返回echo $PATH /opt/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user/bin:/usr/java/openjdk/jdk-16/bin
任何帮助,将不胜感激
解决方案
检查您的 JAVA_HOME 定义是否区分大小写,并检查 $JAVA_HOME/bin/java.exe 在当前 shell 中是否可执行
推荐阅读
- sql-server - 在 IBM DB2 上编写 SQL 暗表日期脚本
- python - 如何将熊猫系列整数时间戳转换为日期时间(使用 fromtimestamp)?错误 = 无法将系列转换为
- python-3.x - 使用 ngrok 部署烧瓶应用程序时出现错误索引
- jooq - 关于 POJO 失败的 Jooq 更新声明
- laravel - Laravel Eloquent 查询生成器,用于获取关系第三张表中的所有行
- c# - 如何在 C# 中从 SQLite 数据库中查询单个单元格值
- python - xdg-open:没有可用于打开的方法
- linux - presto + 如何调整 memory.max-data-per-node
- mongodb - 如何在mongodb聚合管道中按顺序对结果进行排序
- c++ - 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()