You can run the example:
export HDC_PREFIX=~/projects/hdc
java -cp "$HDC_PREFIX/java/jHDC/target/*:$HDC_PREFIX/java/jHDC/target/test-classes:$HDC_PREFIX/java/jHDC/target/dependency/*" -Djava.library.path=$HDC_PREFIX/build/java ExampleAfter installation, you can set reduced classpath:
export HDC_PREFIX=~/projects/hdc
export JHDC_PREFIX=$HDC_PREFIX/install/share/java/
java -cp "$JHDC_PREFIX/*:$HDC_PREFIX/build/java/jHDC/target/test-classes" -Djava.library.path=$HDC_PREFIX/build/java ExampleThe following howto is no longer needed since cmake can now do it for you. But for documenting purposes of non-trivial build procedure of jHDC, we will keep it here. Users are strongly encouraged to see main readme instead.
This howto assumes you have built hdc with -DENABLE_JAVA=ON option
apt -y install maven Assuming you are in cmake build directory, the C++ header should be generated in the build by
cd java
javah -classpath jHDC/src/main/java -jni dev.libhdc.HDCThe Java wrapper is built using Maven. Java 8 should be selected prior building. The environment on ubuntu bionic can be set up by:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jreThe actual build is done by:
cd jHDC
mvn clean packageif you want also all dependencies to be copied into target/dependency folder, run:
mvn clean dependency:copy-dependencies packageMaven can also build a single jar containing all necessary dependencies, in order to do that:
mvn clean compile assembly:single mvn sitemvn clean dependency:copy-dependencies package
java -Djava.library.path=../../build/java -cp "target/jHDC-0.17.3.jar:target/dependency/*" ExampleAlternatively for for lazy and patient:
mvn clean compile assembly:single
java -Djava.library.path=../../build/java -cp target/jHDC-0.17.3-jar-with-dependencies.jar ExampleThe following command installs jHDC package into maven repository (~/.m2 by default)
mvn install