JDKMon:比sdkman更友好的JDK分发更新程序


不知道你是否有同样的问题,但我的机器上安装了大约 8 个 OpenJDK 发行版,我总是遇到保持它们最新的问题。我知道有sdkman很棒,但不知何故我从未习惯它。
意思是说我手动下载 OpenJDK 发行版并将它们安装在我的机器上。所以主要的问题是有这么多不同的发行版,而且它们都有不同的方式来获取最新版本。为了完全解决这个问题,我们在 foojay.io 创建了 DiscoAPI,它跟踪(希望)所有可用的 OpenJDK 发行版。好吧,因为我们喜欢吃自己的狗粮,所以我创建了一个小工具,可以帮助我使我安装的 OpenJDK 发行版保持最新...... JDKMon
它只是一个用 Java(FX) 编写的小工具,它使用了FXTrayIcon,这是 Dustin Redmond 的一个不错的小库,可以在操作系统的系统托盘中运行 JavaFX 应用程序。嗯,这意味着它适用于 Windows 和 MacOS,但不幸的是不适用于所有 Linux 发行版。但是不用担心,JDKMon 也将在 Linux 上运行,而是留在 Dock 中。
原则上,JDKMon 只是一个小工具,它扫描您的计算机以查找已安装的 OpenJDK 发行版,并使用Disco API检查是否有可用于其中一个发行版的更新。如果它找到更新,它将为您找到每个包的按钮。当您单击这些按钮之一(例如 tar.gz、zip、pkg 等)时,您必须选择一个文件夹,所选的包应下载到该文件夹​​中。下载过程将通过窗口底部的一个小进度条进行可视化。下载完成后,您必须手动安装下载的软件包。
因为 JDKMon 不会扫描您的整台机器来尝试查找已安装的 JDK,所以您必须将其指向它应该检查的文件夹。例如,在 MacOS 上,通常 JDK 将安装在以下文件夹中/Volumes/Macintosh HD/Library/Java/JavaVirtualMachines,在 Windows 上可能安装在该文件夹中:C:\Program Files\Java;在 Linux 上可能安装在/usr/lib/jvm
在JDKMON菜单上,您将找到一个名为的条目SearchPath,选择此条目,您可以选择JDKMN将检查安装的JDK发行版的文件夹。您只需选择该文件夹,因为它将存储在属性文件中。
如果您想触发更新的重新扫描,您可以选择该条目,Rescan但 JDKMon 也会每 3 小时运行一次重新扫描。如果它找到已安装发行版之一的更新,它将在屏幕上显示一个弹出窗口,该窗口在几秒钟后消失,显示可用更新。
JDKMon 主窗口有不同的风格,有一个适用于 MacOS 和 Windows 的原生版本。在 Linux 上,窗口看起来像在 MacOS 上。
JDKMon 窗口将向您显示已安装的发行版及其版本号。如果发行版与 JavaFX 捆绑在一起,您会(FX)在发行版名称后面找到。如果有可用更新,您将看到一个箭头,后面是此发行版的最新可用版本。在版本之后,您将找到具有不同颜色的按钮列表。这些按钮中的每一个都有一个工具提示,显示它指向哪个包。当您单击这些按钮之一时,您必须选择一个文件夹来下载它,然后下载将开始。
有些发行版不支持直接下载其软件包(例如 Oracle 和 RedHat)。在这种情况下,按钮将呈灰色且无法单击。意思是说您必须检查发行版的网站并手动下载。但至少你得到了一个新包可用的信息。
目前 DiscoAPI 和 JDKMon 支持以下发行版:

  • AdoptOpenJDK
  • AdoptOpenJDK J9
  • Corretto
  • Dragonwell
  • GraalVM CE8
  • GraalVM CE11
  • GraalVM CE16
  • JetBrains
  • Liberica
  • Liberica Native
  • Mandrel
  • Microsoft
  • OJDK Build
  • OpenLogic
  • Oracle
  • Oracle OpenJDK,
  • RedHat
  • SAP Machine,
  • Temurin (no packages yet)
  • Trava
  • Zulu
  • Zulu Prime