JDKMon - A little tool written in JavaFX that monitors your installed JDK's and inform you about updates

Related tags

GUI JDKMon
Overview

JDKMon

GitHub stars

Github all releases

Windows macOS Linux

GitHub license


JDKMon Home


JDKMon is a little tool written in JavaFX that tries to detect all JDK's installed on your machine and will inform you about new updates of each OpenJDK distribution found. In addition JDKMon is also able to monitor JavaFX SDK versions that are installed on your machine.

At the moment the following distributions will be identified:

  • AdoptOpenJDK
  • AdoptOpenJDK J9
  • Bi Sheng
  • Corretto
  • Debian (pkgs not downloadable)
  • Dragonwell
  • Graalvm CE8
  • Graalvm CE11
  • Graalvm CE16
  • Graalvm CE17
  • JetBrains
  • Kona
  • Liberica
  • Liberica Native
  • Mandrel
  • Microsoft
  • OJDK Build
  • Open Logic
  • Oracle (not all pkgs downloadable)
  • Oracle OpenJDK
  • RedHat (pkgs not downloadable)
  • SAP Machine
  • Semeru
  • Semeru Certified
  • Temurin
  • Trava
  • Zulu
  • Zulu Prime

In case the distribution found was not identified it will be mentioned in the main window as "Unknown build of OpenJDK". If you stumble upon this case, please file an issue and mention the distribution incl. version that you are using.

JDKMon can be build for:

  • Windows x64
  • MacOS x64
  • MacOS aarch64
  • Linux x64
  • Linux aarch64 (e.g. Raspberry Pi 4 running Raspberry Pi OS 64bit)

You can always check if you have the latest version install by taking a look at the About window. This can be opened by selecting About from the menu. If there is a new version available you will find a link in the About window that will open the page with the latest release in your default browser.

About

You could also always get the latest version here.

Depending on the operating system it will try to find the JDK's in the following folders:

MacOS: /System/Volumes/Data/Library/Java/JavaVirtualMachines/

Windows: C:\Program Files\Java\

Linux: /usr/lib/jvm(FXTrayIcon only supports a few linux distros)

You can change the folders JDKMon is scanning for installed JDK's by selecting the "Add JDK search path" menu entry. The selected path will be added to the list of folders stored in the jdkmon.properties file in your user home folder. JDKMon will scan all given folders for installed JDK's.

If you would like to reset the folders that should be scanned to the default, simply select "Default JDK search path" in the menu.

You can also change the folders JDKMon is scanning for JavaFX SDK's by selecting the "Add JavaFX search path" menu entry. The selected path will be added to the list of folders stored in the jdkmon.properties file in your user home folder. You just need to add the folder than contains all your javafx-sdk-mm.ii.uu folders.

If you would like to reset the folders that should be scanned for JavaFX SDK's to the default, simply select "Default JavaFX search path". It will be reset to the your home folder.

You can search and download for a JDK from different distributions in the dialog that opens when you select "Download a JDK" from the menu.

The application will stay in the system tray with an icon. If you click the icon a menu will appear where you can select

JDK Main: The main window

Rescan: Will rescan for installed JDK's and check for updates

Add search path: Will open the directory chooser to add a path to the search paths

Default search path: Will reset the search path to the platform dependent default

Remember download folder: When remember download folder is active you don't have to select a download folder everytime

Download a JDK: Opens a dialog where you can search/download a JDK from different distributions

Exit: Exit the application `

ATTENTION:
When running the application via java -jar on Linux you might have to add -Djdk.gtk.version=2 to make it work correctly e.g. java -Djdk.gtk.version=2 -jar JDKMon-linux-17.0.0.jar

On Mac and Windows the dark mode will be detected automatically and the user interface will adjust it's design to either dark or light mode. On Linux you can change the variable "dark_mode" in the jdkmon.properties file (in your user folder) to "TRUE" to see the application in dark mode. The application will only check for dark/light mode during startup and won't change when it is running.

The main window will show you all JDK's found by JDKMon and if there is an update available it will show you the archive types of the available updates. In the image below you can see that there is an update for GraalVM available and that you can download it as a tar.gz file. To download an update just click on the archive type tag and choose a folder where the download should be stored.

If an update is available and there are release details available, a little blue dot with a question mark will appear at the end of the packages list. When clicking on the dot the default browser will open with the release details over at foojay.io

JDKMon will not only help you to keep your installed OpenJDK distributions up to date but will also check the NVD for known vulnerabilities (CVE) related to their version number. If you have for example installed an OpenJDK distribution with the version 16.0.1, JDKMon will check the NVD for known vulnerabilities of OpenJDK with the version number 16.0.1. In case JDKMon will find vulnerabilities, it will indicate this with a yellow circle with an exclamation mark behind the version number. Meaning to say if you have for example Zulu 16.0.1 and Liberica 16.0.1 installed ony your machine, JDKMon will show you the vulnerabilties, it found for OpenJDK 16.0.1 for both distributions. So there is no guarantee that your installed distribution is really affected by the CVE's found in NVD but you at least get the info that there are vulnerabilities for 16.0.1.

vulnerability

When you click on the yellow circle a window will open which shows the CVE's found. You can click on each CVE to open it in a browser with more detailled information.

Vulnerabilities-found

How it looks on MacOS and Linux (light/dark mode): Updates

Download

How it looks on Windows (light/dark mode):

Updates

Download

Comments
  • Problem with starting JDKMon

    Problem with starting JDKMon

    I just downloaded package from blogspot page: jdkmon_17.0.18-1_amd64.deb and installed it.

    When i run it from launcher nothing happens. When i run it from cmd i get this:

    petr@probook:/opt/jdkmon/bin$ ./JDKMon 
    Feb 03, 2022 10:28:29 AM com.sun.javafx.application.PlatformImpl startup
    WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @6aaf2814'
    

    My system:

    petr@probook 
    ------------ 
    OS: Linux Mint 20.3 x86_64 
    Host: HP ProBook 450 G8 Notebook PC 
    Kernel: 5.13.0-28-generic 
    Uptime: 12 mins 
    Packages: 2621 (dpkg) 
    Shell: bash 5.0.17 
    Resolution: 1920x1080, 1920x1080, 1920x1080 
    DE: Cinnamon 
    WM: Mutter (Muffin) 
    WM Theme: Mint-Y-Dark (Mint-Y) 
    Theme: Mint-Y [GTK2/3] 
    Icons: Mint-Y [GTK2/3] 
    Terminal: gnome-terminal 
    CPU: 11th Gen Intel i7-1165G7 (8) @ 4.700GHz 
    GPU: Intel Device 9a49 
    Memory: 3651MiB / 31790MiB 
    

    Default java:

    openjdk 11.0.13 2021-10-19
    OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.20.04)
    OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
    

    Thanks for your help.

    opened by ptnavratil 6
  • JDKMon Download Info dialog is shown under

    JDKMon Download Info dialog is shown under "main window" JDK Mon

    After click on download JDK distro is dialog "JDKMon Download Info" (and this dalog has focus) shown under "main window" JDK Mon (this window is always on top). For me was whole dialog "JDKMon Download Info" under "main window" JDK Mon - this is not very user firendly. May be related with fix for issue #24.

    My OS is Windows 10.

    wontfix 
    opened by ltorok 4
  • For not directly downloadable JDK distros would be good nice option for copy URL of web site/open web site in default browser

    For not directly downloadable JDK distros would be good nice option for copy URL of web site/open web site in default browser

    For not directly downloadable JDK distros (tooltip is now with "No direct download, please check website") would be nice has feature(s) copy URL of web site/open web site for given JDK distro in default browser.

    Status now (only): image

    enhancement 
    opened by ltorok 3
  • Application not launched after installation (windows msi installer)

    Application not launched after installation (windows msi installer)

    After installing (windows, msi installer) nothing happens. User expectation is usually that the app is launched or at the very least have an app shortcut available somewhere (meny and or desktop). Now you have to open an file explorer, go to c:\program files\jdk mon and launch it yourself. No launcher shortcut in the menu or desktop.

    enhancement 
    opened by mattiasbe 3
  • bring windows/dialogs to front

    bring windows/dialogs to front

    its a bit of a treasure hunt to find the download jdk window if you have already openeded it once.

    currently I have to restart JDKMon after having moved a window in front - its faster than trying to find it :)

    would be great if jdkmon would bring windows/dialogs to the front when invoked via menu.

    opened by maxandersen 2
  • It would be useful if * it was explained directly in the window

    It would be useful if * it was explained directly in the window

    I would use this text "* Marks currently selected JDK (in JAVA_HOME)" somewhere in window (or You have better idea?). I think it would be useful.

    opened by ltorok 2
  • add click to open folder where distro is installed

    add click to open folder where distro is installed

    First of all, nice utility, when I first saw it I didn't think I'd have much use since sdkman kind of handles updates but then I realized I use Windows at work so this will be handy.

    I wanted to be able to clean up some old distros so wanted a way to get to the install folder.

    This kind of interferes with the context menu, not sure why, I'm still am not much of an javafx expert.

    Also bonus typo fix.

    opened by gschrader 2
  • Suggestion: Add more default search paths

    Suggestion: Add more default search paths

    Suggestion to add more default search paths now that multiple can be added. For example: C:\Program Files\Zulu on windows, but there are certainly more, for adopt open jdk etc.

    enhancement wontfix 
    opened by mattiasbe 2
  • On windows the version is always 16.0.0 so a new version can't be installed unless removed first

    On windows the version is always 16.0.0 so a new version can't be installed unless removed first

    On windows, using the msi-installer, the version is always 16.0.0 so a new version can't be installed unless removed first. Tried to upgrade from 3.6 to 3.7 and wasn't allowed.

    Version for msi 16.0.0: image

    exe: image

    bug 
    opened by mattiasbe 2
  • Feature Request: Shim a JDK

    Feature Request: Shim a JDK

    As explained in this issue, the Oracle JDK installers for Windows (and possibly for macOS too) now shims only 4 binaries in a folder called java_home and uses such directory as the bin that is appended to PATH.

    An interesting feature for JDKMon is to offer the user an option to clean PATH and JAVA_HOME, and then allow the user to select which JDK they actually want, and then shim the binaries, append the folder containing the shims in PATH, and point JAVA_HOME to that particular JDK only.

    This would potentially take JDKMon to the next level as a cross-platform JDK Switcher.

    opened by brunoborges 1
  • Add suggestion for running with GTK 2 in the Readme

    Add suggestion for running with GTK 2 in the Readme

    Hi. Thanks for this application.

    I'm using Manjaro Linux and I've hit on some weird edge case: running the application with java -jar JDKMon-linux.jar nothing happens. However, when I run with GTK2, it works just fine: java -Djdk.gtk.version=2 -jar JDKMon-linux.jar

    I'd like to suggest adding this property in the ReadMe, in case someone tries to run your application and have the same issue.

    opened by Thihup 1
  • Semi-crashes Desktop on Kubuntu Linux 20.04.4

    Semi-crashes Desktop on Kubuntu Linux 20.04.4

    When started, it takes tens of seconds, almost a minute, to show a window. On a 3960X 24-core Threadripper with 64G RAM and Nvidia 2070 SUPER.

    This window, however, is unresponsive to clicks. I managed to get one right-click out of it among several tries (and showing a context menu), but it usually only started to seize the mouse for the whole desktop. After trying to start it from the command-line, this is printed out:

    Sep 09, 2022 4:40:07 PM com.sun.javafx.application.PlatformImpl startup
    WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @2dd61f5b'
    
    (JDKMon:815907): Gdk-WARNING **: 16:40:26.926: XSetErrorHandler() called with a GDK error trap pushed. Don't do that.
    

    Ctrl-C wasn't working in the terminal and no mouse input was possible anymore. One pkill later the window died, leaving an "empty" window shell behind, including a defunct systemtray icon. Still no mouse on the whole desktop. After switching to console (away from GUI Desktop altogether), a kill -9 finally ended the misery.

    The window that showed up did look pretty, though. Quite a pleasant surprise.

    It seems to come with it's own Java runtime, right? Haven't tried to run it with one of the installed, known good ones though.

    I was thinking about using JavaFX for internal GUI projects, but yeah, that was a kind of cold shower right there and then. Yet I still like the looks of JDKMon. ;)

    opened by kah-ell 1
  • Feature Request: Shim a JDK

    Feature Request: Shim a JDK

    As explained in this issue, the Oracle JDK installers for Windows (and possibly for macOS too) now shims only 4 binaries in a folder called java_home and uses such directory as the bin that is appended to PATH.

    An interesting feature for JDKMon is to offer the user an option to clean PATH and JAVA_HOME, and then allow the user to select which JDK they actually want, and then shim the binaries, append the folder containing the shims in PATH, and point JAVA_HOME to that particular JDK only.

    This would potentially take JDKMon to the next level as a cross-platform JDK Switcher.

    enhancement 
    opened by brunoborges 1
  • Missing text

    Missing text "Bundled with FX" for checkbox in dialog "Download a JDK" after first open the given dialog only

    This problem is ONLY in this case (my OS is Windows 10, version JDKMon is 17.0.0.0):

    1. 2x click on shortcut "JDKMon" on desktop for launch JDKMon
    2. close the window "JDK Mon" or leave it open (does not affect the issue)
    3. on tray icon for JDKMon from context menu (right click) to select item "Download a JDK"
    4. in opened dialog "Download a JDK" on top is missing text "Bundled with FX" for given checkbox <- issue (see screenshot bellow)

    Important note: after close dialog "Download a JDK" and next open the given dialog this issue does not exist next already

    Screenshot (for typo "Operatingsystem I send PR already"): image

    bug 
    opened by ltorok 1
Releases(17.0.43)
Owner
Gerrit Grunwald
❤️ coding in general, esp. Java(FX), Swift and if needed JavaScript. UI has my love...
Gerrit Grunwald
Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8 and provides the functionalities to use and handle easily Tiles in your JavaFX application.

Lib-Tile Intention Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tile

Peter Rogge 13 Apr 13, 2022
Just a fun little word game! 🍄

Wordagam A fun & interactive word game. Check out the screenshots and the gameplay video. Download & Play Download the latest artefacts here. You can

Sandeep 61 Dec 24, 2022
A prayer times (Adhan) app for Windows and GNU/Linux written in JavaFX.

Salawat Salawat - سالوات A prayer times and Adhan application for Windows, macOS and GNU/Linux written in Java Download » View Demo · Report Bug · Req

DarkBlackChocolate 8 Nov 17, 2022
A portable 8086 emulator written in Java and JavaFX

8086.java A portable 8086 emulator written in JavaFX Environment Variables To run this project, you will need to add the following environment variabl

David Velho 4 Dec 1, 2022
Everest - an upcoming REST API testing client written in JavaFX

Everest (formerly RESTaurant) is an upcoming REST API testing client written in JavaFX. Everest running on Windows 10. Why Everest? Everest is written

Rohit Awate 810 Dec 27, 2022
An image annotation desktop-application written in Java using the JavaFX application platform.

This is an image annotation desktop-application written in Java using the JavaFX application platform. It allows you to create bounding box annotations using rectangular and polygonal shapes. Annotations can be imported and saved from/to JSON files, Pascal VOC format XML-files or YOLO format TXT-files.

Markus Fleischhacker 31 Dec 4, 2022
Tetromino is a Tetris-like game written in Java with JavaFX.

Tetromino Link to original project in university's GitLab Tetromino is a Tetris-like game written in Java with JavaFX made by Jonas and myself during

Tobias Helmrich 2 Dec 13, 2021
A maven plugin to include features from jmeter-plugins.org for JMeterPluginsCMD Command Line Tool to create graphs, export csv files from jmeter result files and Filter Result tool.

jmeter-graph-tool-maven-plugin A maven plugin to create graphs using the JMeter Plugins CMDRunner from JMeter result files (*.jtl or *.csv) or using F

Vincent DABURON 6 Nov 3, 2022
DataFX - is a JavaFX frameworks that provides additional features to create MVC based applications in JavaFX by providing routing and a context for CDI.

What you’ve stumbled upon here is a project that intends to make retrieving, massaging, populating, viewing, and editing data in JavaFX UI controls ea

Guigarage 110 Dec 29, 2022
Tray Icon implementation for JavaFX applications. Say goodbye to using AWT's SystemTray icon, instead use a JavaFX Tray Icon.

FXTrayIcon Library intended for use in JavaFX applications that makes adding a System Tray icon easier. The FXTrayIcon class handles all the messy AWT

Dustin Redmond 248 Dec 30, 2022
A library for JavaFX that gives you the ability to show progress on the Windows taskbar.

A clean and easy way to implement this amazing native Windows taskbar-progressbar functionality in javaFX Background Since Windows 7 there is a taskba

Daniel Gyoerffy 77 Nov 28, 2022
CSS keyframe animation for JavaFX. Create animations like you would do with CSS.

JFXAnimation CSS keyframe animation for JavaFX. If you are using JFoenix JFXAnimation is included (currently version 1.0.0 only) Requirements JDK 8 an

Marcel Schlegel 49 Dec 28, 2022
Lightweight installer written in java, made for minecraft mods, The installer uses JPanel and uses a URL to install to the specific area (Discord URL's work the best i've seen)

InstallerForJava Lightweight installer written in java, made for minecraft mods, The installer uses JPanel and uses a URL to install to the specific a

null 18 Dec 9, 2022
An advanced book explorer/catalog application written in Java and Kotlin.

Boomega An advanced book explorer/catalog application written in Java and Kotlin. ✨ Features Cross-platform Dark/Light theme, modern UI Multiple UI la

Daniel Gyoerffy 54 Nov 10, 2022
A simple JavaFX application to load, save and edit a CSV file and provide a JSON configuration for columns to check the values in the columns.

SmartCSV.fx Description A simple JavaFX application to load, save and edit a CSV file and provide a JSON Table Schema for columns to check the values

Andreas Billmann 74 Oct 24, 2022
Lobby System Template for a multiplayer java game, with chat and other features, using JavaFX and socket TCP (will be extended to UDP).

JavaFX-MultiplayerLobbySystem JavaFX lobby system for multiplayer games with chat, ready toggle and kick buttons, using socket TCP by default. Demo Cr

Michele Righi 7 May 8, 2022
A cross-platform interface for FutureRestore, written in Java with Swing

Futurerestore GUI A GUI implementation for FutureRestore written in Java. Installation Download from releases. No Java download required (it's bundled

null 428 Dec 30, 2022
Four - An engine for MUDs, written in Java

Four This is Four, an engine for MUDs, written in Java! The project was initiated by nijakow and mhahnFr to serve as the basis for text-based Multi-Us

null 5 May 23, 2022