【问题标题】:Maven "JAVA_HOME should point to a JDK not a JRE"Maven“JAVA_HOME 应该指向 JDK 而不是 JRE”
【发布时间】:2019-04-19 06:16:08
【问题描述】:

以下命令在 OpenJDK 上运行良好

mvn clean install

然后我卸载了 OpenJDK 并安装了 Oracle JDK 8,现在当我运行 mvn clean install

JAVA_HOME 环境变量没有正确定义这个 运行此程序需要环境变量注意:JAVA_HOME 应该指向 JDK 而不是 JRE

我正在运行 Linux Mint 19,我确实遇到了一些与该问题相关的 Stackoverflow 问题。大多数与 Windows 相关,一些与 Linux 相关。推荐运行的 Linux

sudo update-alternatives --config java

但在我的情况下,我得到了

在链接组 java 中只有一种选择(提供 /usr/bin/java): /usr/lib/jvm/java-8-oracle/jre/bin/java 没什么 配置。

知道如何让mvn clean install 再次工作吗?

【问题讨论】:

  • @ElliottFrisch 我不小心在我的问题中粘贴了错误的内容。我修好了它。 mvn clean installThe 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 home 应该是/usr/lib/jvm/java-8-oracle/jdk - 检查它是否存在
  • @ScaryWombat 我没有看到 jdk。我有bin lib src.zip COPYRIGHT LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt include man THIRDPARTYLICENSEREADME.txt javafx-src.zip README.html jre release
  • 您是否有一个目录/usr/lib/jvm/java-8-oracle/bin,其中包含javajavac 等内容?如果是,请将 JAVA_HOME 设置为 /usr/lib/jvm/java-8-oracle
  • @Henry 我愿意,如何设置 JAVA_HOME?

标签: java linux maven ubuntu linux-mint


【解决方案1】:

可能是缺少 java 路径配置。您可以按照以下步骤操作:

  1. 创建或导出 JAVA_HOME="JDK 目录" 。前任。 "C:\Program Files\Java\jdk1.8.0_65"
  2. 为 PATH="JDK Bin DIrectory" 创建或导出 Path 变量。前任。 "C:\Program Files\Java\jdk1.8.0_65\bin"
  3. 从您的终端运行命令java -version。检查它是否正确。

然后配置maven。按着这些次序 : 您可以尝试安装 maven globaly。如果已配置,则可以跳过这些步骤。仅用于检查运行 mvn --version 命令以检查 maven 是否安装正确。

  1. maven download link下载maven

  2. 创建或导出 M2_HOME="MAVEN ROOT LOCATION"。前任。 : E:\SoftwareRepo\building tools\apache-maven-3.5.2

  3. 创建或导出 MAVEN bin 文件夹位置到 PATH 变量。例如:E:\SoftwareRepo\building tools\apache-maven-3.5.2\bin

  4. 打开终端或cmd运行mvn --version确认maven是否安装。

【讨论】:

    【解决方案2】:

    您可以参考链接来设置 JAVA_HOME for Linux -

    https://docs.oracle.com/cd/E21454_01/html/821-2532/inst_cli_jdk_javahome_t.html

    再次设置 Maven

    https://maven.apache.org/install.html

    检查mvn -v 命令是否有效..

    然后用mvn..执行其他命令

    谢谢 :)

    【讨论】:

      【解决方案3】:

      适用于 mac 或 ubuntu 用户

      如果你安装了java 1.7,请确保安装了java

      echo 'export JAVA_HOME="$(/usr/libexec/java_home -v 1.7 -f)"' >> ~/.bash_profile 
      

      或java 1.8,相应更改版本。

      echo 'export JAVA_HOME="$(/usr/libexec/java_home -v 1.8 -f)"' >> ~/.bash_profile
      

      然后

      source ~/.bash_profile
      

      现在检查,

      echo $JAVA_HOME 
      

      这应该指向正确的 java 版本。

      【讨论】:

        猜你喜欢
        • 2017-09-15
        • 2020-04-30
        • 2013-07-10
        • 2019-02-27
        • 2021-09-15
        • 2018-11-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多