Terminate if RAMCloud JNI bindings were not found.

Change-Id: I402bc3ecbe324c81c1fd6005aa5396e5b9d368b0
diff --git a/src/main/java/edu/stanford/ramcloud/JRamCloud.java b/src/main/java/edu/stanford/ramcloud/JRamCloud.java
index e8aba19..2bfd145 100644
--- a/src/main/java/edu/stanford/ramcloud/JRamCloud.java
+++ b/src/main/java/edu/stanford/ramcloud/JRamCloud.java
@@ -18,6 +18,9 @@
 import java.util.Arrays;
 import java.util.LinkedList;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 /*
  * This class provides Java bindings for RAMCloud. Right now it is a rather
  * simple subset of what RamCloud.h defines.
@@ -32,8 +35,16 @@
  *      http://developer.android.com/training/articles/perf-jni.html
  */
 public class JRamCloud {
+    private static final Logger log = LoggerFactory.getLogger(JRamCloud.class);
+
     static {
-        System.loadLibrary("edu_stanford_ramcloud_JRamCloud");
+        try {
+            System.loadLibrary("edu_stanford_ramcloud_JRamCloud");
+        } catch (UnsatisfiedLinkError e) {
+            System.err.println("Unable to load JNI binding. Please build RAMCloud Java bindings.");
+            log.error("Unable to load JNI binding. Please build RAMCloud Java bindings.", e);
+            System.exit(-1);
+        }
     }
 
     public static final long VERSION_NONEXISTENT = 0L;