diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFutureUtils.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFutureUtils.java
index d560b24f61ee..0eef0a6fc51d 100644
--- a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFutureUtils.java
+++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestFutureUtils.java
@@ -17,6 +17,7 @@
*/
package org.apache.hadoop.hbase.util;
+import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.startsWith;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
@@ -69,7 +70,7 @@ public void testRecordStackTrace() throws IOException {
} catch (HBaseIOException e) {
assertEquals("Inject error!", e.getMessage());
StackTraceElement[] elements = e.getStackTrace();
- assertThat(elements[0].toString(), startsWith("java.lang.Thread.getStackTrace"));
+ assertThat(elements[0].toString(), containsString("java.lang.Thread.getStackTrace"));
assertThat(elements[1].toString(),
startsWith("org.apache.hadoop.hbase.util.FutureUtils.setStackTrace"));
assertThat(elements[2].toString(),
diff --git a/hbase-hadoop2-compat/pom.xml b/hbase-hadoop2-compat/pom.xml
index 7f443bfa17a0..8fb093819131 100644
--- a/hbase-hadoop2-compat/pom.xml
+++ b/hbase-hadoop2-compat/pom.xml
@@ -138,6 +138,14 @@ limitations under the License.
hadoop-common
${hadoop.version}
+
+
+ javax.activation
+ javax.activation-api
+ runtime
+
org.apache.commons
commons-lang3
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java
index fa3e61319f27..2c5d0c42b6da 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java
@@ -480,7 +480,7 @@ private static void exceptionShouldContains(String substr, Throwable throwable)
Throwable t = throwable;
while (t != null) {
String msg = t.toString();
- if (msg != null && msg.contains(substr)) {
+ if (msg != null && msg.toLowerCase().contains(substr.toLowerCase())) {
return;
}
t = t.getCause();
diff --git a/hbase-shaded/hbase-shaded-check-invariants/pom.xml b/hbase-shaded/hbase-shaded-check-invariants/pom.xml
index c51e8fe9273a..ef50eb6ac9fb 100644
--- a/hbase-shaded/hbase-shaded-check-invariants/pom.xml
+++ b/hbase-shaded/hbase-shaded-check-invariants/pom.xml
@@ -88,13 +88,6 @@
org.apache.maven.plugins
maven-enforcer-plugin
-
-
- org.codehaus.mojo
- extra-enforcer-rules
- ${extra.enforcer.version}
-
-
enforce-banned-dependencies
diff --git a/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml b/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml
index 4bf15d07557d..af2383e5b4b4 100644
--- a/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml
+++ b/hbase-shaded/hbase-shaded-with-hadoop-check-invariants/pom.xml
@@ -77,13 +77,6 @@
org.apache.maven.plugins
maven-enforcer-plugin
-
-
- org.codehaus.mojo
- extra-enforcer-rules
- ${extra.enforcer.version}
-
-
enforce-banned-dependencies
diff --git a/pom.xml b/pom.xml
index 7cf631433db8..0929e6e5e1ce 100755
--- a/pom.xml
+++ b/pom.xml
@@ -820,6 +820,23 @@
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ ${enforcer.version}
+
+
+ org.codehaus.mojo
+ extra-enforcer-rules
+ ${extra.enforcer.version}
+
+
+ de.skuzzle.enforcer
+ restrict-imports-enforcer-rule
+ ${restrict-imports.enforcer.version}
+
+
+
@@ -858,20 +875,6 @@
org.apache.maven.plugins
maven-enforcer-plugin
- ${enforcer.version}
-
-
- org.codehaus.mojo
- extra-enforcer-rules
- ${extra.enforcer.version}
-
-
- de.skuzzle.enforcer
- restrict-imports-enforcer-rule
- ${restrict-imports.enforcer.version}
-
-
-
hadoop-profile-min-maven-min-java-banned-xerces
@@ -2222,10 +2225,45 @@
[1.11,)
-
-
-
-
+
+
+ --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED ${hbase-surefire.argLine}
+
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+
+
+ hadoop3-profile-required
+
+ enforce
+
+
+
+
+
+ hadoop.profile
+ .*3\.0$
+
+ HBase with JDK11 requires Hadoop3. Activate the profile with `-Dhadoop.profile=3.0`.
+
+
+ HBase with JDK11 requires Hadoop3. Activate the profile with `-Dhadoop.profile=3.0`.
+
+
+
+
+
+
+
+
+
@@ -2698,6 +2736,16 @@
+
+
+ javax.activation
+ javax.activation-api
+ 1.2.0
+ test
+
org.apache.hadoop
hadoop-client
@@ -3040,6 +3088,15 @@
+
+
+ javax.activation
+ javax.activation-api
+ 1.2.0
+ test
+
org.apache.hadoop
hadoop-common