运行“mvn clean javadoc:jar package”时出现错误“未正确定义 JAVA_HOME 环境变量”

Posted

技术标签:

【中文标题】运行“mvn clean javadoc:jar package”时出现错误“未正确定义 JAVA_HOME 环境变量”【英文标题】:Error "the JAVA_HOME environment variable is not defined correctly" on running "mvn clean javadoc:jar package" 【发布时间】:2021-06-16 15:17:09 【问题描述】:

当我尝试执行命令时

mvn clean javadoc:jar package

它显示

JAVA_HOME 环境变量定义不正确。运行这个程序需要这个环境变量。

注意:JAVA_HOME 应该指向 JDK,而不是 JRE。

我检查了已经提出的问题Unable to find javadoc command - maven,我上面尝试的解决方案仅来自此解决方案。我是 Ubuntu 的新手。我该如何解决这个问题?

而当我运行 echo $JAVA_HOME 时,它会打印:

/usr/lib/jvm/java-11-openjdk-amd64

我还尝试将JAVA_HOME 设置为:

    /etc/launchd.conf/java-11-openjdk-amd64 /usr/libexec/java-11-openjdk-amd64 /usr/libexec/java-11-openjdk-amd64/

当我运行mvn -v 时,它会打印:

Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.10, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "5.8.0-45-generic", arch: "amd64", family: "unix"

当我运行 echo $JAVA_HOME 时,它会打印:

/usr/lib/jvm/java-11-openjdk-amd64

【问题讨论】:

这是我的 maven:mvn -v java path Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre 所以尝试在最后用/jre 更新 java 路径并告诉我它是否有效。 @MohamedBdr 通过这样做,我得到了我最初提到的错误。 @ThunderKnight 您是否通过数据包管理器安装了 Java? @JanezKuhar 我已经在终端的帮助下安装了它 可能是你安装了openjdk-11-jre而不是openjdk-11-jdk 【参考方案1】:

嗯...,可能该文件不存在用于运行 javadoc。 /usr/lib/jvm/java-11-openjdk-amd64/bin/javadoc文件是否存在?

请尝试:

sudo apt install openjdk-11-jdk

【讨论】:

【参考方案2】:

我将删除带有模式openjdk-11-.* 的above listed packages(请参阅this question)并安装Java like this。

【讨论】:

以上是关于运行“mvn clean javadoc:jar package”时出现错误“未正确定义 JAVA_HOME 环境变量”的主要内容,如果未能解决你的问题,请参考以下文章

Docker 容器后台运行和前台运行的区别

JMeter笔记15 | JMeter场景运行

JMeter笔记15 | JMeter场景运行

在 spyder IDE 中,运行选择工作正常,运行文件保持运行/挂起

关于运行osgi插件时和运行环境相关的问题

运行里面怎么以管理员身份运行