有没有一种方法可以在不手动下载新版本的情况下更新JDK?

51

我刚收到一条Java更新通知,说Update 17已经发布,于是我运行了更新程序,结果发现只有我的公共JRE得到了更新。而我仍然只拥有JDK的Update 16版本。

是否有一种方式可以在最新版本可用时自动获取最新的JDK?

当然,更新不应该删除旧版本,因为Eclipse仍在使用旧版本。等我更新完我的设置后,我会手动删除旧的JDK。


1
Windows:(Win 7 64位,但我有32位的JDK) - Ben S
2
这似乎是一个SuperUser或ServerFault的问题。 - monksy
2
ServerFault上似乎没有人对那种问题感兴趣:http://serverfault.com/q/435894 - Raedwald
5个回答

20

这不适用于Windows操作系统。如果您是通过带有自动更新程序的Linux发行版获取JDK,则可以依赖该程序。但我怀疑这不是您想要的。我认为Sun没有提供JDK的自动下载功能。


你可以自己编写一个自动下载脚本来获取最新的JDK安装程序,只需将其设置为计划任务,它就会每晚运行。问题在于安装新的JDK,因为我怀疑安装程序没有非交互模式。 - Nate C-K
此外,Sun的Java下载站点有一些烦人的点击屏幕,使用长URL和ID等,直到您实际下载安装程序之前,即使是自动下载部分也不会轻松。 - Nate C-K
Jenkins如何实现自动安装JDK功能?我不熟悉Jenkins代码,但这是我知道可以自动安装JDK的地方之一。 - Parag Doke

1

Secunia PSI(适用于单个PC的免费版本)将自动更新。您可以在这里阅读有关它的评论。如果您同时运行Java 6和Java 7 JRE(像我一样),可能会出现故障,有时仍需手动更新。


1

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

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


1
更新:我还需要修改JAVA_HOME环境变量以运行指向它的应用程序。Windows 7: 控制面板-->系统-->高级系统设置-->高级选项卡-->环境变量。 - bcdewberry
在声明中要说明,任何注重安全的计算机用户都不会也不应该安装任何非来自其供应商直接提供的应用程序。 - Gábor
我理解您的观点,并同意在从互联网下载任何内容时都应该保持谨慎。话虽如此,我仍然建议每个人都应该自己去研究这个网站。我已经使用它多年了,也为许多人节省了时间。有关详细过程的更多信息,请参见:https://ninite.com/security - bcdewberry

1

在 OS X 中,此功能是操作系统的一部分,并会自动更新。但在 Windows 上,您必须手动更新。


11
请注意评论日期。这在2009年是准确的,但现在已不再准确。 - Gardner Bickford

0
在MacOS上,现在可以通过Homebrew软件包管理器安装java。安装Homebrew后,您只需运行以下命令即可:

brew cask install java

这将安装最新的Java版本。然后可以使用以下命令来保持更新:

brew cask reinstall java


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接