diff --git a/.travis.yml b/.travis.yml
index a34a295a70c7aab459368db2979a121ccc86e205..769d7f6af709e63b9581aa3ee9a83982254b8033 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,4 +35,4 @@ services:
 
 
 # Use the Container based infrastructure.
-sudo: false
\ No newline at end of file
+sudo: false
diff --git a/accumulo/pom.xml b/accumulo/pom.xml
index eb098f88c13b73f37ba15e8460ca737d75b85718..a8023447d1f303c51b2fedf5c6a4eba696cce297 100644
--- a/accumulo/pom.xml
+++ b/accumulo/pom.xml
@@ -30,6 +30,8 @@ LICENSE file.
   <properties>
     <!-- This should match up to the one from your Accumulo version -->
     <hadoop.version>2.2.0</hadoop.version>
+    <!-- Tests do not run on jdk9 -->
+    <skipJDK9Tests>true</skipJDK9Tests>
   </properties>
   <dependencies>
     <dependency>
diff --git a/asynchbase/pom.xml b/asynchbase/pom.xml
index 2092a88bc2c6fce2c70c6685d493b0e45c14f1cc..ee9efbbaa8984c5bce1e54ceeb3366af99ff2a7c 100644
--- a/asynchbase/pom.xml
+++ b/asynchbase/pom.xml
@@ -25,6 +25,11 @@ LICENSE file.
   <artifactId>asynchbase-binding</artifactId>
   <name>AsyncHBase Client Binding for Apache HBase</name>
 
+  <properties>
+    <!-- Tests do not run on jdk9 -->
+    <skipJDK9Tests>true</skipJDK9Tests>
+  </properties>
+
   <dependencies>
     <dependency>
       <groupId>org.hbase</groupId>
@@ -79,6 +84,12 @@ LICENSE file.
       <artifactId>hbase-testing-util</artifactId>
       <version>${hbase10.version}</version>
       <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>jdk.tools</groupId>
+          <artifactId>jdk.tools</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     
     <dependency>
@@ -86,6 +97,12 @@ LICENSE file.
       <artifactId>hbase-client</artifactId>
       <version>${hbase10.version}</version>
       <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>jdk.tools</groupId>
+          <artifactId>jdk.tools</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     
     <dependency>
@@ -102,4 +119,4 @@ LICENSE file.
       <scope>test</scope>
     </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/binding-parent/pom.xml b/binding-parent/pom.xml
index a05a0ae36370bee60e6c8d878c16ba6c5f6668cb..7e5eb8529065e09d8af5596a61be9476d376adcd 100644
--- a/binding-parent/pom.xml
+++ b/binding-parent/pom.xml
@@ -37,6 +37,11 @@ LICENSE file.
     <module>datastore-specific-descriptor</module>
   </modules>
 
+  <properties>
+    <!-- See the test-on-jdk9 profile below. Default to 'jdk9 works' -->
+    <skipJDK9Tests>false</skipJDK9Tests>
+  </properties>
+
   <build>
     <pluginManagement>
       <plugins>
@@ -127,6 +132,18 @@ LICENSE file.
         </plugins>
       </build>
     </profile>
+    <!-- If the binding doesn't work with jdk9, it should redefine the
+         skipJDK9 property
+      -->
+    <profile>
+      <id>tests-on-jdk9</id>
+      <activation>
+        <jdk>9</jdk>
+      </activation>
+      <properties>
+        <skipTests>${skipJDK9Tests}</skipTests>
+      </properties>
+    </profile>
   </profiles>
 </project>
 
diff --git a/core/pom.xml b/core/pom.xml
index 858daa3452e8404088f410526c1f2deb96bf078b..e713073a1be8663649eb2a4bfc43fe7f4f62619f 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -68,26 +68,5 @@ LICENSE file.
         <filtering>true</filtering>
       </resource>
     </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <version>${maven.assembly.version}</version>
-        <configuration>
-          <descriptorRefs>
-            <descriptorRef>jar-with-dependencies</descriptorRef>
-          </descriptorRefs>
-          <appendAssemblyId>false</appendAssemblyId>
-        </configuration>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>single</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
   </build>
 </project>
diff --git a/couchbase2/src/main/java/com/yahoo/ycsb/db/couchbase2/Couchbase2Client.java b/couchbase2/src/main/java/com/yahoo/ycsb/db/couchbase2/Couchbase2Client.java
index 7acd9bbbca12b6837445fb424e39492d50da404e..6697a0c357fd39d1633815ba3d04f034aae0dc0d 100644
--- a/couchbase2/src/main/java/com/yahoo/ycsb/db/couchbase2/Couchbase2Client.java
+++ b/couchbase2/src/main/java/com/yahoo/ycsb/db/couchbase2/Couchbase2Client.java
@@ -715,7 +715,7 @@ public class Couchbase2Client extends DB {
    */
   private void waitForMutationResponse(final Observable<? extends Document<?>> input) {
     if (!syncMutResponse) {
-      input.subscribe(new Subscriber<Document<?>>() {
+      ((Observable<Document<?>>)input).subscribe(new Subscriber<Document<?>>() {
         @Override
         public void onCompleted() {
         }
diff --git a/hbase10/pom.xml b/hbase10/pom.xml
index 01db0ceb1b39c49e8770c0b2a76c3294437d9911..8d8f05e7f82a651e46a342362528ac66f6123c1b 100644
--- a/hbase10/pom.xml
+++ b/hbase10/pom.xml
@@ -28,11 +28,21 @@ LICENSE file.
   <artifactId>hbase10-binding</artifactId>
   <name>HBase 1.0 DB Binding</name>
 
+  <properties>
+    <!-- Tests do not run on jdk9 -->
+    <skipJDK9Tests>true</skipJDK9Tests>
+  </properties>
   <dependencies>
     <dependency>
       <groupId>org.apache.hbase</groupId>
       <artifactId>hbase-client</artifactId>
       <version>${hbase10.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>jdk.tools</groupId>
+          <artifactId>jdk.tools</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>com.yahoo.ycsb</groupId>
@@ -51,6 +61,12 @@ LICENSE file.
       <artifactId>hbase-testing-util</artifactId>
       <version>${hbase10.version}</version>
       <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>jdk.tools</groupId>
+          <artifactId>jdk.tools</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
   </dependencies>
 </project>
diff --git a/orientdb/pom.xml b/orientdb/pom.xml
index d7a91aa7adf60d2d3a777855621a15a12f512f28..07f43c6077d060e37a3b9b85bf51cfae0564dba7 100644
--- a/orientdb/pom.xml
+++ b/orientdb/pom.xml
@@ -35,6 +35,10 @@ LICENSE file.
       <url>https://oss.sonatype.org/content/repositories/snapshots</url>
     </repository>
   </repositories>
+  <properties>
+    <!-- Tests do not run on jdk9 -->
+    <skipJDK9Tests>true</skipJDK9Tests>
+  </properties>
   <dependencies>
     <dependency>
       <groupId>com.yahoo.ycsb</groupId>