• Stars
    star
    258
  • Rank 158,189 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 and vulnerabilities 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
  • Gluon GraalVM
  • 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.37.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 Zulu(FX) 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 (National Vulnerability Database) for known vulnerabilities (CVE - Common Vulnerability and Exposure) related to their version number. If you have for example installed an OpenJDK distribution with the version 11.0.13, JDKMon will check the NVD for known vulnerabilities of OpenJDK with the version number 11.0.13. In case JDKMon will find vulnerabilities, it will indicate this with a red square with an exclamation mark behind the version number. Meaning to say if you have for example Zulu 11.0.13 and Liberica 11.0.13 installed ony your machine, JDKMon will show you the vulnerabilties, it found for OpenJDK 11.0.13 for both distributions. So there is no guarantee that your installed distribution is really affected by the CVE's found in the NVD but you at least get the info that there are vulnerabilities for 11.0.13.

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.

vulnerability

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

Download

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

Updates

Download

Additional properties

In your user home folder (e.g. /Users/YOUR_USERNAME or /home/YOUR_USERNAME) you will find a file named jdkmon.properties. This file contains the following settings:

searchpath=THE PATHS THAT WILL SCANNED FOR JDK'S (default depends on operating system)
remember_download_folder=TRUE/FALSE (default is FALSE)
download_folder=THE FOLDER WHERE DOWNLOADS WILL BE STORED (default is empty)
dark_mode=TRUE/FALSE (default is FALSE)
javafx_searchpath=PATH THAT WILL BE SCANNED FOR JAVAFX SDK'S (default is the user home folder)
features=loom,panama,metropolis,valhalla,lanai,kona_fiber (list of features to look for) EXPERIMENTAL!
autoextract=TRUE/FALSE Will directly extract downloaded JDK's (default is FALSE) EXPERIMENTAL!
show_unknown_builds=TRUE/FALSE Will show unknown builds of OpenJDK (default is FALSE) EXPERIMENTAL!

Installation problems

Linux

Make sure that you have the following programs installed before you execute build_appLinux.sh:

  • binutils sudo apt install binutils
  • fakeroot sudo apt install fakeroot
  • rpm sudo apt install rpm

Problems opening CVE links

Linux

Make sure you have the xdg-open tool installed (it is part of the xdg-utils package).

  • xdg-utils sudo apt install xdg-utils

No CVEs found

In case the cve files (in your home folder) are empty, delete the empty file and restart JDKMon. After the restart the file should be filled with data again.

  • cvedb.json
  • graalvm_cvedb.json

More Repositories

1

tilesfx

A JavaFX library containing tiles that can be used for dashboards.
Java
1,278
star
2

medusa

A JavaFX library for Gauges
Java
654
star
3

charts

A JavaFX library that contains different kind of charts
Java
528
star
4

SpaceFX

Just a simple tiny space game written in JavaFX
Java
151
star
5

SteelSeries-Canvas

The HTML5 Canvas port of the SteelSeries component library. Mainly contains gauges.
JavaScript
116
star
6

Enzo

A repo that contains custom controls for JavaFX 8 (Current version is hosted on bitbucket)
Java
82
star
7

SteelSeries-Swing

Swing port of the SteelSeries gauges
Java
63
star
8

tilesfxdemo

A little JavaFX demo app that shows how to use TilesFX in combination with Medusa and Ikonli
Java
52
star
9

worldfx

A JavaFX control that represents an interactive world map
Java
39
star
10

converter

A Java based unit converter
Java
35
star
11

regulators

Two JavaFX controls that might be handy e.g. for home automation UI's
Java
28
star
12

JavaFXCustomControls

A project that shows the different ways on how to create custom controls in JavaFX
Java
28
star
13

fxmodules

A little template project to
Java
27
star
14

jarkanoid

A little JavaFX Arkanoid clone
Java
26
star
15

smoothcharts

A JavaFX line/area chart that can be smoothed and has mouse interaction
Java
26
star
16

JFX8CustomControls

Contains examples and templates for JavaFX 8 custom controls
Java
23
star
17

medusademo

Some demos for the Medusa JavaFX gauges library
Java
23
star
18

neumorphic

A library of JavaFX controls that use a neumorphic design
Java
22
star
19

countries

A JavaFX library that contains different controls to visualize country based data
Java
20
star
20

monitor

A little JavaFX control that can be used to visualize either stored or live data
Java
20
star
21

properties

JavaFX like properties
Java
20
star
22

glucostatusfx

Glucose status monitor for Nightscout implemented in JavaFX
Java
19
star
23

applefx

A collection of Apple UI controls implemented in JavaFX.
Java
18
star
24

iosfx

A JavaFX collection of iOS controls to use it in combination with Gluon
Java
17
star
25

Colors

A little project that contains different color definitions (e.g. Flat UI Colors, Material Design Colors etc).
Java
17
star
26

crac4

Another demo for the CRaC project
Java
15
star
27

odometer

A JavaFX library containing an odometer and two spinner controls
Java
15
star
28

gradientpicker

A JavaFX control to create color gradients.
Java
14
star
29

timecontrol

A little JavaFX TimeControl that was inspired by Apple's sleep timer in iOS 10
Java
14
star
30

missiontimerx

A JavaFX control that looks similar to the SpaceX mission timer
Java
13
star
31

digital5

A ConnectIQ Watch Face for the Garmin fenix5x watch
12
star
32

dotmatrix

A little dot matrix JavaFX control
Java
12
star
33

TouchSlider

A JavaFX touch slider control that is based on the Canvas node but is also styleable via CSS
Java
12
star
34

digital

Simple Digital Watch Face for Garmin Forerunner 235
11
star
35

sankeyplot

A JavaFX implementation of a sankey plot
Java
11
star
36

numberpad

A simple JavaFX number pad
Java
11
star
37

observablematrix

An array based matrix that is observable implemented in Java
Java
10
star
38

dateranger

DateRanger is a JavaFX control to select dates and ranges
Java
10
star
39

SVGPathConverter

A little tool that converts SVG paths to JavaFX paths
Java
10
star
40

ioscheckbox

A JavaFX version of the current checkbox in iOS
Java
10
star
41

svgnode

A JavaFX Canvas based node that can be used to visualize multiple SVG paths with their fill and stroke
Java
10
star
42

jdkbutler

JDK Butler is a little Java tool that helps you finding/downloading a JDK/JRE
Java
10
star
43

coxcombchart

A JavaFX implementation of a coxcomb like chart
Java
10
star
44

FxgTools

A toolset to parse/interpret/convert Adobe fxg files
Groovy
9
star
45

dataviewer

A JavaFX control that can show images with chart overlays
Java
9
star
46

expandabletextarea

An expandable TextArea JavaFX control with the ability to limit the no of characters
Java
9
star
47

formattedtextfield

A custom JavaFX TextField that allows custom formatting
Java
9
star
48

FxHeatMap

A (poor mans) heat map implemented in JavaFX
Java
9
star
49

timer

A JavaFX version of the timer control that is used on iPhone and in iTunes
Java
8
star
50

SunburstChart

A JavaFX sunburst chart component
Java
8
star
51

submitbutton

A little fun submit button in JavaFX
Java
8
star
52

tetris

A JavaFX clone of the classic Tetris game
Java
8
star
53

toolboxfx

A collection of ui related helper classes and tools
Java
8
star
54

touchjoystick

A JavaFX touch joystick control that was inspired by the UI of SpaceX Crew Dragon
Java
8
star
55

jdp

JDP is a Java datepicker using Swing
Java
7
star
56

anglepicker

A little JavaFX control to pick an angle between 0-360 degrees
Java
7
star
57

funindicator

A little JavaFX fun indicator that has an interesting animation
Java
7
star
58

colorchooser

A JavaFX control to define colors for fill and stroke.
Java
7
star
59

CircularProgressIndicator

A Material Design Circular Progress Indicator (indeterminated) implemented in JavaFX
Java
7
star
60

MoodFX

A little project that makes use of JavaFX on mobile, desktop and embedded to control an ESP8266 Huzzah Feather based mood light.
Java
7
star
61

worldheatmap

A combination of my JavaFX WorldMap with my HeatMap
Java
6
star
62

funmenu

A little JavaFX based menu component
Java
6
star
63

SpaceFXPi

A more scalable version of SpaceFX without sound to be able to run on the Raspberry Pi
Java
6
star
64

SpaceFXMobile

A version of SpaceFX that can run on mobile devices using Gluon Technology
Java
6
star
65

cardnav

A little JavaFX based card navigation demo
Java
6
star
66

particlesfx

Some JavaFX code to show how one can do particles in different ways in JavaFX
Java
6
star
67

circularplot

A JavaFX implementation of a circular plot
Java
6
star
68

FoVFX

A little JavaFX tool to visualize the field of view incl. depth of focus for different lenses and sensor formats
Java
5
star
69

funselector

A fun selection control written in JavaFX
Java
5
star
70

anchorselector

A little JavaFX control to select an anchor for positioning
Java
5
star
71

spaceinvadersfx

SpaceInvaders written in JavaFX
Java
5
star
72

horizon

A JavaFX implementation of a horizon chart
Java
5
star
73

javafxdemo

A little demo program that shows the controls in the Enzo controls library
Java
5
star
74

MedusaJS

A JavaScript library for Gauges. The main focus of this project is to provide Gauges that can be configured in multiple ways.
JavaScript
5
star
75

toolbox

A collection of useful classes and tools
Java
5
star
76

discocli

Disco CLI is a command line interface for the foojay.io Disco API
Java
5
star
77

hol1634

Code examples for the JavaOne 2016 hands on lab 1634 "Customize your JavaFX Controls"
Java
4
star
78

tiles

A Swift iOS port of the JavaFX TilesFX library
Swift
4
star
79

jdktools

JDKTools is a library that contains tools related to system info and versioning
Java
4
star
80

tilesfxweather

TilesFX Weather is an addon to the TilesFX library related to showing weather data
Java
4
star
81

FitnessGauge

An AppleWatch like FitnessGauge in JavaFX
Java
4
star
82

evt

A custom java event implementation with priorities
Java
4
star
83

matriximage

A little JavaFX demo that visualizes pixelated images with my DotMatrix control
Java
3
star
84

dialplate

A JavaFX dialplate control (like on old analog telephones)
Java
3
star
85

cache

A simple map based cache with timeout and limit
3
star
86

nestedbarchart

A JavaFX based nested bar chart
Java
3
star
87

SpaceJS

A port of the SpaceFX game to JavaScript
JavaScript
3
star
88

tilesfxstockdemo

A little demo for the new TilesFX StockTileSkin...
Java
3
star
89

crac6

Another CRaC demo
Java
3
star
90

weatherfx

A JavaFX based WeatherPanel which perfectly fits for the Raspberry Pi with the 800x480 screen
Java
3
star
91

FxgFXParser

A inplace parser that parses converts Adobe FXG files and returns a map of JavaFX Groups. Each layer of the FXG file is placed in it's own group.
Groovy
3
star
92

pathgradient

A JavaFX based path gradient
Java
2
star
93

ColorSelector

A radial color selector
Java
2
star
94

SimpleSectionGauge

Another JavaFX based gauge that might be useful for dashboards etc.
Java
2
star
95

rollinggradient

A JavaFX rolling gradient
Java
2
star
96

OneClassGauge

A simple gauge that works on JDK7+JavaFX 2 for ARM (BeagleBoard)
Java
2
star
97

geomfx

A little geometry library for JavaFX that is based on code from Apache Harmony
Java
2
star
98

bpmgauge

A little gauge that can be used to visualize heart rates
Java
2
star
99

gettingstarted

A little project that shows how to use Charts or TilesFX in JDK17
Java
2
star
100

donutchart

A simple JavaFX donut chart control
Java
2
star