【问题标题】:java command line requires JDK on Mac?java命令行在Mac上需要JDK吗?
【发布时间】:2019-04-25 05:31:33
【问题描述】:

我已经从 Oracle 官方网站在 MacOS X 10.10 上安装了 JRE 1.8。我安装的文件是jre-8u66-macosx-x64.dmg。令我惊讶的是,java 命令说我需要 JDK 才能工作。

有没有办法在没有 JDK 的 Mac 上从命令行执行 jar?如果没有,有哪些运行 Java 代码的选项(浏览器小程序除外)?

编辑:从命令行调用java -v 时,我得到以下输出:

不存在 Java 运行时,正在请求安装。

还有一个警告窗口,上面写着:

要使用“java”命令行工具,您需要安装 JDK。

还有一个数据点:文件夹 /Library/Java/JavaVirtualMachines 是空的。相反,/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 下有一些东西。它甚至在 /bin/ 下还有一个命令行 java。使用-version 运行它会得到:

java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

我想知道我是否可以在 CLI 中利用它..

【问题讨论】:

  • 当您尝试运行 java 时收到的确切消息是什么?
  • 还取决于您要运行的内容。例如,Tomcat 需要 JDK。
  • 您能否更新您的问题以包括您如何安装 JRE?是来自官方的 Oracle JRE 下载吗?
  • 官方。更新了我的问题。
  • 您是否尝试重新安装它?在我看来,安装似乎没有正确完成。

标签: java macos


【解决方案1】:

是的,命令行上的完整 Java 功能需要 SDK。

SDK 提供 Java 安装,其中包括小程序运行程序未包含的特定于操作系统的库。 我想 Java 应用程序和小程序的某些子集可能从命令行运行正常,但小程序插件提供不同的服务。

多年来,这一直困扰着我,因为我时不时需要一个 Java 环境,但大多数时候我宁愿在我的系统上没有它的踪迹。即使我确实安装了浏览器插件,它通常也会被禁用。

【讨论】:

    【解决方案2】:

    如果重新安装无法解决问题,您可以将 $JAVA_HOME 设置为安装 java 的位置:

    export JAVA_HOME=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

    之后,java -v 应该可以工作,但您必须为每个新的终端窗口执行此操作,或者根据您使用的 shell 将其添加到 .bash_profile 或其他文件中。

    【讨论】:

    • 我自己找到了一个,但为了后代的缘故,让这个坐在这里 :)
    • 2020 年在 macOS Catalina 上仍需要
    【解决方案3】:

    当您收到此消息并且您已经安装了 JDK 或未安装 JDK 时,通常情况下您正在使用的应用程序需要以前版本的 SDK。

    来自 Java.com 上的 page

    这是最常见的,因为应用程序需要 Apple 提供的旧版 Java 6。该问题的解决方法请见http://support.apple.com/kb/DL1572

    它会重定向到 Apple 网站上的 page 以下载并安装以前的版本。

    【讨论】:

    • 如果它告诉你我的机器上安装了一个较新版本的 Java,而我无法安装 2017 版本来解决问题,你有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 2021-09-09
    • 2016-11-05
    • 2020-03-23
    • 1970-01-01
    相关资源
    最近更新 更多