diff --git a/.travis.yml b/.travis.yml
index 5f82a45aa0e9a7e6efe0f9d41e3960c668040e98..982bf282fa7707359d10a00ab0f8570f8b2cbb41 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,8 +20,10 @@
 language: java
 
 jdk:
-  - oraclejdk9
   - oraclejdk8
+  - oraclejdk9
+  - oraclejdk10
+  - oraclejdk11
 
 addons:
   hosts:
diff --git a/accumulo1.6/pom.xml b/accumulo1.6/pom.xml
index 26859837086163817862081dbadd54be86bbf8f4..f2b1ff4b6d2eb847abd0f4f26594c8913ebed3ee 100644
--- a/accumulo1.6/pom.xml
+++ b/accumulo1.6/pom.xml
@@ -30,8 +30,10 @@ 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>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
   <dependencies>
     <dependency>
diff --git a/accumulo1.7/pom.xml b/accumulo1.7/pom.xml
index fc96333d923cd70c47de91fdf964f307d9ed5c70..e1cd6ba5716dd86e9f8043c347a0af026ab4417f 100644
--- a/accumulo1.7/pom.xml
+++ b/accumulo1.7/pom.xml
@@ -30,8 +30,10 @@ 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>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
   <dependencies>
     <dependency>
diff --git a/accumulo1.8/pom.xml b/accumulo1.8/pom.xml
index 994ca4e43ef2a6e685ae0a547f23ecb92cabbf5f..addddeebf751ac19d283878b00ebd403364d7c29 100644
--- a/accumulo1.8/pom.xml
+++ b/accumulo1.8/pom.xml
@@ -30,8 +30,10 @@ LICENSE file.
   <properties>
     <!-- This should match up to the one from your Accumulo version -->
     <hadoop.version>2.6.4</hadoop.version>
-    <!-- Tests do not run on jdk9 -->
+
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
   <dependencies>
     <dependency>
diff --git a/asynchbase/pom.xml b/asynchbase/pom.xml
index 5aa2d2fe41a5b0eb7be47a4440f834bdd913dd03..f011cd638030d2f66d5c72f6172e6e55306b92c4 100644
--- a/asynchbase/pom.xml
+++ b/asynchbase/pom.xml
@@ -26,8 +26,9 @@ LICENSE file.
   <name>AsyncHBase Client Binding for Apache HBase</name>
 
   <properties>
-    <!-- Tests do not run on jdk9 -->
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
 
   <dependencies>
diff --git a/binding-parent/pom.xml b/binding-parent/pom.xml
index d43c588381ad707dc9406d356dce1f9ee764006f..ca2a3e8727347d9e77b3566ed37de0d863e5036d 100644
--- a/binding-parent/pom.xml
+++ b/binding-parent/pom.xml
@@ -40,6 +40,8 @@ LICENSE file.
   <properties>
     <!-- See the test-on-jdk9 profile below. Default to 'jdk9 works' -->
     <skipJDK9Tests>false</skipJDK9Tests>
+    <skipJDK10Tests>false</skipJDK10Tests>
+    <skipJDK11Tests>false</skipJDK11Tests>
   </properties>
 
   <build>
@@ -144,6 +146,30 @@ LICENSE file.
         <skipTests>${skipJDK9Tests}</skipTests>
       </properties>
     </profile>
+    <!-- If the binding doesn't work with jdk10, it should redefine the
+         skipJDK10 property
+      -->
+    <profile>
+      <id>tests-on-jdk10</id>
+      <activation>
+        <jdk>10</jdk>
+      </activation>
+      <properties>
+        <skipTests>${skipJDK10Tests}</skipTests>
+      </properties>
+    </profile>
+    <!-- If the binding doesn't work with jdk11, it should redefine the
+         skipJDK11 property
+      -->
+    <profile>
+      <id>tests-on-jdk11</id>
+      <activation>
+        <jdk>11</jdk>
+      </activation>
+      <properties>
+        <skipTests>${skipJDK11Tests}</skipTests>
+      </properties>
+    </profile>
   </profiles>
 </project>
 
diff --git a/hbase10/pom.xml b/hbase10/pom.xml
index 94c1e55f9005c3709cfe94c49b0e88940fbacbb0..17a2f999e80eb24863867318bd3cbf84c70c5426 100644
--- a/hbase10/pom.xml
+++ b/hbase10/pom.xml
@@ -29,8 +29,9 @@ LICENSE file.
   <name>HBase 1.0 DB Binding</name>
 
   <properties>
-    <!-- Tests do not run on jdk9 -->
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
   <dependencies>
     <dependency>
diff --git a/hbase12/pom.xml b/hbase12/pom.xml
index bea764aebbb47b7ba78e786f4c55d3981fbee22a..fc7768daa20c2a26f88353a59d4bfc359cda4401 100644
--- a/hbase12/pom.xml
+++ b/hbase12/pom.xml
@@ -29,8 +29,10 @@ LICENSE file.
   <name>HBase 1.2 DB Binding</name>
 
   <properties>
-    <!-- Tests do not run on jdk9 -->
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
+
     <!-- Tests can't run without a shaded hbase testing util.
          See HBASE-15666, which blocks us.
          For now, we rely on the HBase 1.0 binding and manual testing.
diff --git a/ignite/pom.xml b/ignite/pom.xml
index 959a9c54eabcd1c4c94bb1b0dfa002cde15d95a1..76c391309722e407fb833862eb7683299e995fc0 100644
--- a/ignite/pom.xml
+++ b/ignite/pom.xml
@@ -41,6 +41,8 @@ LICENSE file.
 
   <properties>
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
 
   <dependencies>
diff --git a/orientdb/pom.xml b/orientdb/pom.xml
index 28bd323cccc4d1902d89b79cff615ae06eda17ed..ce4760c812b509c8c4cd72600fcddad9e74df00a 100644
--- a/orientdb/pom.xml
+++ b/orientdb/pom.xml
@@ -36,8 +36,9 @@ LICENSE file.
     </repository>
   </repositories>
   <properties>
-    <!-- Tests do not run on jdk9 -->
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
   <dependencies>
     <dependency>
diff --git a/rest/pom.xml b/rest/pom.xml
index 6120581fd7a40c60f8b0325b0c3df05c00fe7dfb..15691e7f696e4c79638d6a2b16e4f4be1b890da2 100644
--- a/rest/pom.xml
+++ b/rest/pom.xml
@@ -23,8 +23,9 @@
   <packaging>jar</packaging>
 
   <properties>
-    <!-- Tests do not run on jdk9 -->
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
 
     <tomcat.version>8.0.28</tomcat.version>
     <jersey.version>2.6</jersey.version>
diff --git a/solr/pom.xml b/solr/pom.xml
index 6087c3e9ee296103db82d9f5d933556206e40794..79cc21a2d58b377e67eb51914ccfff0c66e3eb79 100644
--- a/solr/pom.xml
+++ b/solr/pom.xml
@@ -32,8 +32,9 @@ LICENSE file.
   <packaging>jar</packaging>
 
   <properties>
-    <!-- Tests do not run on jdk9 -->
     <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
 
   <dependencies>
diff --git a/solr6/pom.xml b/solr6/pom.xml
index be91ae6eea1ad7e9f6dc6ce38791ed7edd85deb0..aa3ece5451f373fd3ed3619b44c1f590f57f699b 100644
--- a/solr6/pom.xml
+++ b/solr6/pom.xml
@@ -32,8 +32,9 @@ LICENSE file.
   <packaging>jar</packaging>
 
   <properties>
-    <!-- Skip tests by default. will be activated by jdk8 profile -->
-    <skipTests>true</skipTests>
+    <skipJDK9Tests>true</skipJDK9Tests>
+    <skipJDK10Tests>true</skipJDK10Tests>
+    <skipJDK11Tests>true</skipJDK11Tests>
   </properties>
 
   <dependencies>