HDF-Java wrappers are provided for users who wish to compile HDF5 and HDF4 applications in Java. They are the native interfaces for Java HDF (JHI) and Java HDF5 (JHI5) that consist of the Java classes and C interface libraries.
These wrappers:
- use 64-bit object identifiers.
- can be obtained by BUILDING HDF5-1.10 and/or HDF 4.2.12+.
- DO NOT INCLUDE the HDF-Java Object package. (See HDFView for the object package.)
The HDF-Java wrappers that use 32-bit object identifiers (for HDF5-1.8) are only available from the old support web site.
Building the Wrappers
The HDF-Java wrappers can be built when compiling HDF5-1.10 and HDF4 (versions 4.2.12 and above) with the following options:
Autotools:
./configure --enable-java
Other configure options that can be used are:
--with-java-prefix=PFX prefix where Java runtime is installed (optional)
--with-javac-flags=FLAGS flags to pass to the Java compiler (optional)
--with-java-flags=FLAGS flags to pass to the Java VM (optional)
- CMake Option:
HDF5_BUILD_JAVA:BOOL=ON
(for HDF5),HDF4_BUILD_JAVA:BOOL=ON
(for HDF4)
Documentation
- HDF5 Java Interface (javadocs)
- HDF Java Interface (javadocs)
- JHI5 Design Notes (Java native interface to HDF5 library)
- JHI Design Notes (Java Native interface to HDF4 library)
Compiling an Application
To compile an application you must set the following environment variables:
- CLASSPATH: path to HDF-Java jar files
- LD_LIBRARY_PATH: path to HDF-Java lib directory
A simple shell script or batch file can be created to compile applications. See the example script below.
To use this script you must add the correct path to the following variables:
- HDFJAVA_HOME: Path to the HDF-Java binaries
- JAVAPATH: Path to Java
When compiling with the script, leave off the application extension. For example if the script is called "runlin.sh", you would type the following to compile "program.java":
./runlin.sh program
Example Compile Script (Unix):
#!/bin/sh export HDFJAVA_HOME= export JAVAPATH= ###################################################### CPATH=$HDFJAVA_HOME"/lib/*" export CLASSPATH=$CPATH":"$CLASSPATH export LD_LIBRARY_PATH=$HDFJAVA_HOME"/lib" echo $CLASSPATH $JAVAPATH/javac $1.java $JAVAPATH/java -Xmx1G -Djava.library.path=$HDFJAVA_HOME"/lib" $1 dummy.h5 |
Example Programs
HDF-Java applications can be found on the HDF5 Examples by API page, as well as in the source code.
If running these examples individually you must comment out this line at the top of the application:
package examples....
--- Last Modified: November 11, 2019 | 09:19 AM