【问题标题】:Is there a way to update the JDK without manually downloading the new version?有没有办法在不手动下载新版本的情况下更新JDK?
【发布时间】:2010-12-22 05:55:36
【问题描述】:

我刚刚收到更新 17 的 Java 更新通知,所以我运行更新并发现只有我的公共 JRE 被更新。我仍然只有 JDK 的 Update 16。

有没有办法在最新的 JDK 可用时自动获得它?

当然,更新不应该摆脱旧版本。这应该手动完成,因为 Eclipse 仍在使用旧版本。一旦我更新了我的设置,我会手动删除旧的 JDK。

【问题讨论】:

  • Windows:(Win 7 64 位,但我有 32 位 JDK)
  • 这看起来像是一个 SuperUser 或 ServerFault 问题。
  • ServerFault 上似乎没有人有兴趣回答这类问题:serverfault.com/q/435894

标签: java auto-update


【解决方案1】:

不在 Windows 上。如果您通过带有自动更新程序的 linux 发行版获取 JDK,则可以依赖它。不知何故,我怀疑这就是你的想法。我不相信 Sun 提供的任何 JDK 自动下载。

【讨论】:

  • 您可以自己编写一个自动下载脚本来获取最新的 JDK 安装程序,只需将其设置为调度程序任务,它将每晚运行。问题在于安装新的 JDK,因为我怀疑安装程序有非交互模式。
  • 另外,在您实际下载安装程序之前,Sun 的 Java 下载站点有一些使用长 URL 的充满 ID 等的令人讨厌的点击屏幕,因此即使是自动下载部分也不会在公园里散步。
  • Jenkins 是如何实现自动安装 JDK 功能的?我不熟悉 Jenkins 代码,但这是我知道自动安装 JDK 的 1 个地方。
【解决方案2】:

在 OS X 下,这是操作系统的一部分,会自动更新。对于 Windows,您必须自己完成。

【讨论】:

  • 请注意评论日期。这在 2009 年是准确的,但现在不再准确。
【解决方案3】:

Secunia PSI(在单台 PC 上运行的免费版本)会自动更新。阅读它的评论here。如果您同时运行 Java 6 和 Java 7 JRE(像我一样),可能会出现故障,有时您仍然需要手动更新。

【讨论】:

    【解决方案4】:

    Ninite 是一个很棒的网站,可让您下载多个应用程序/软件包的最新版本。如果您保存安装程序,它将始终拉取最新版本并在没有提示的情况下下载/安装它。参考:https://ninite.com/help/home/update.html

    我刚刚自己做了这个,唯一需要注意的是,我必须删除“C:\Program Files\Java”中较旧的 jdk 文件夹,以便“java -version”命令能够识别更改。

    【讨论】:

    • 更新:我还需要修改 JAVA_HOME 环境变量来运行指向它的应用程序。 Windows 7:控制面板 --> 系统 --> 高级系统设置 --> 高级选项卡 --> 环境变量
    • 需要注意的是,任何有安全意识的计算机用户都不会并且应该安装任何不是直接来自其供应商的应用程序。
    • 我理解您的观点并同意从互联网下载任何内容时应始终保持谨慎。话虽如此,我会敦促任何人自己研究该网站。我已经使用了多年,它为无数其他人节省了时间。更多流程详情:ninite.com/security
    【解决方案5】:

    在 MacOS 上,java 现在可以通过 Homebrew 包管理器安装。安装 Homebrew 后,您可以简单地运行:

    brew cask install java

    安装最新的java版本。然后可以使用

    brew cask reinstall java

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-17
      • 2021-08-18
      相关资源
      最近更新 更多