Migrating client code away from HDFView 2.x versions

In order to use the latest Java libraries for HDF5, you will need to understand what has changed and how to adjust.

First, HDFView 2.8 is based on old code and processes.
HDF5 library was 1.8 and library IDs were ints.
Since HDF5 Library 1.10, the library IDs are based on longs.
This means that the Java Interface had to change as well.
The HDF5 Libraries are not interchangeable without client code modification.

Second, The JNI interface libraries were external to HDF5 Library 1.8.
HDF5 1.10 library (also HDF4 library since 4.2.11) and beyond have the JNI interface libraries built and distributed with the HDF5 library and no longer with HDFView 3+.

Third, HDFView 3 versions now use the SWT visual interface libraries and no longer support SWING.
This resulted in a major refactoring of the Java Object Libraries as well.
HDFView 3.0 versions have been based on HDF5 Library 1.10.
HDFView 3.1 versions have been based on HDF5 Library 1.12
HDFView 3.2 versions are now based on HDF5 Library 1.14.
The HDFView 3.3.2 release was built and tested with HDF 4.3.0 and HDF5 1.14.4.

HDFView binaries are self contained and can be used without interference from the Java, HDF5, HDF4 available on the system. However to build HDFView 3.3.2 requires new minimum versions of Java JDK 21, HDF5 1.14.4 and HDF 4.3.0 and the latest dependent libraries.

If your client application only needs to use the HDF5 Java wrappers (Most closely aligned to the HDF5 APIs) then you only need to download and use the latest HDF5 library ( migrating the IDs from int to long as necessary ).