diff --git a/dev-support/findbugs-exclude-global.xml b/dev-support/findbugs-exclude-global.xml
new file mode 100644
index 0000000000000..82ff69a451aeb
--- /dev/null
+++ b/dev-support/findbugs-exclude-global.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hadoop-cloud-storage-project/hadoop-cos/pom.xml b/hadoop-cloud-storage-project/hadoop-cos/pom.xml
index 4c1456cd95f70..db90751d171b8 100644
--- a/hadoop-cloud-storage-project/hadoop-cos/pom.xml
+++ b/hadoop-cloud-storage-project/hadoop-cos/pom.xml
@@ -69,8 +69,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-cloud-storage-project/hadoop-huaweicloud/pom.xml b/hadoop-cloud-storage-project/hadoop-huaweicloud/pom.xml
index d00dc1f22c704..f9b832182598b 100755
--- a/hadoop-cloud-storage-project/hadoop-huaweicloud/pom.xml
+++ b/hadoop-cloud-storage-project/hadoop-huaweicloud/pom.xml
@@ -64,8 +64,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-cloud-storage-project/hadoop-tos/pom.xml b/hadoop-cloud-storage-project/hadoop-tos/pom.xml
index 4495189da8fba..c0562a3b4ba2c 100644
--- a/hadoop-cloud-storage-project/hadoop-tos/pom.xml
+++ b/hadoop-cloud-storage-project/hadoop-tos/pom.xml
@@ -174,8 +174,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-common-project/hadoop-auth/pom.xml b/hadoop-common-project/hadoop-auth/pom.xml
index eafc3fd5fa7ad..d9695c7aef497 100644
--- a/hadoop-common-project/hadoop-auth/pom.xml
+++ b/hadoop-common-project/hadoop-auth/pom.xml
@@ -267,7 +267,11 @@
com.github.spotbugs
spotbugs-maven-plugin
- ${basedir}/dev-support/findbugsExcludeFile.xml
+
+ ${basedir}/dev-support/findbugsExcludeFile.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
diff --git a/hadoop-common-project/hadoop-kms/pom.xml b/hadoop-common-project/hadoop-kms/pom.xml
index abd4391d7c3c3..7b6975fc24f4f 100644
--- a/hadoop-common-project/hadoop-kms/pom.xml
+++ b/hadoop-common-project/hadoop-kms/pom.xml
@@ -244,8 +244,12 @@
com.github.spotbugs
spotbugs-maven-plugin
- ${basedir}/dev-support/findbugsExcludeFile.xml
-
+
+ ${basedir}/dev-support/findbugsExcludeFile.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
diff --git a/hadoop-common-project/hadoop-minikdc/pom.xml b/hadoop-common-project/hadoop-minikdc/pom.xml
index ab314f9b7562c..e69107c2613c7 100644
--- a/hadoop-common-project/hadoop-minikdc/pom.xml
+++ b/hadoop-common-project/hadoop-minikdc/pom.xml
@@ -76,8 +76,12 @@
com.github.spotbugs
spotbugs-maven-plugin
- ${basedir}/dev-support/findbugsExcludeFile.xml
-
+
+ ${basedir}/dev-support/findbugsExcludeFile.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
diff --git a/hadoop-common-project/hadoop-nfs/pom.xml b/hadoop-common-project/hadoop-nfs/pom.xml
index c7e57bf6c925d..bc72f7fea1195 100644
--- a/hadoop-common-project/hadoop-nfs/pom.xml
+++ b/hadoop-common-project/hadoop-nfs/pom.xml
@@ -125,8 +125,12 @@
com.github.spotbugs
spotbugs-maven-plugin
- ${basedir}/dev-support/findbugsExcludeFile.xml
-
+
+ ${basedir}/dev-support/findbugsExcludeFile.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
diff --git a/hadoop-common-project/hadoop-registry/pom.xml b/hadoop-common-project/hadoop-registry/pom.xml
index 35485304220bd..45bdacd4c0917 100644
--- a/hadoop-common-project/hadoop-registry/pom.xml
+++ b/hadoop-common-project/hadoop-registry/pom.xml
@@ -193,7 +193,12 @@
spotbugs-maven-plugin
true
- ${project.basedir}/dev-support/findbugs-exclude.xml
+
+ ${project.basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml b/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml
index f5b647f927db7..161eb06f25b47 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs-httpfs/pom.xml
@@ -365,7 +365,11 @@
com.github.spotbugs
spotbugs-maven-plugin
- ${basedir}/dev-support/findbugsExcludeFile.xml
+
+ ${basedir}/dev-support/findbugsExcludeFile.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
diff --git a/hadoop-hdfs-project/hadoop-hdfs-nfs/pom.xml b/hadoop-hdfs-project/hadoop-hdfs-nfs/pom.xml
index 6989bbe9ae84b..4051e06bc5856 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-nfs/pom.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs-nfs/pom.xml
@@ -239,4 +239,20 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+
+
+ com.github.spotbugs
+ spotbugs-maven-plugin
+
+
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
+
+
+
+
+
diff --git a/hadoop-mapreduce-project/dev-support/findbugs-exclude.xml b/hadoop-mapreduce-project/dev-support/findbugs-exclude.xml
index 8631ebba575c2..029389f9bc1e9 100644
--- a/hadoop-mapreduce-project/dev-support/findbugs-exclude.xml
+++ b/hadoop-mapreduce-project/dev-support/findbugs-exclude.xml
@@ -401,7 +401,7 @@
-
+ -->
@@ -554,4 +554,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml b/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml
index 10c4f3ca97aa6..f236c8770d360 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/pom.xml
@@ -179,7 +179,11 @@
spotbugs-maven-plugin
true
- ${mr.basedir}/dev-support/findbugs-exclude.xml
+
+ ${mr.basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-examples/dev-support/findbugs-exclude.xml b/hadoop-mapreduce-project/hadoop-mapreduce-examples/dev-support/findbugs-exclude.xml
index 1215a3ef181aa..18f2006999329 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-examples/dev-support/findbugs-exclude.xml
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-examples/dev-support/findbugs-exclude.xml
@@ -36,6 +36,12 @@
+
+
+
+
+
+
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml b/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml
index 39e32a8c95840..856b7aec6d5be 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-examples/pom.xml
@@ -165,7 +165,12 @@
spotbugs-maven-plugin
true
- ${mr.examples.basedir}/dev-support/findbugs-exclude.xml
+
+ ${mr.examples.basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-mapreduce-project/pom.xml b/hadoop-mapreduce-project/pom.xml
index 968527039bd86..05504891b4df4 100644
--- a/hadoop-mapreduce-project/pom.xml
+++ b/hadoop-mapreduce-project/pom.xml
@@ -126,7 +126,11 @@
spotbugs-maven-plugin
true
- ${mr.basedir}/dev-support/findbugs-exclude.xml
+
+ ${mr.basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-project-dist/pom.xml b/hadoop-project-dist/pom.xml
index ee636129bddd2..68d29e84fbf02 100644
--- a/hadoop-project-dist/pom.xml
+++ b/hadoop-project-dist/pom.xml
@@ -92,7 +92,10 @@
com.github.spotbugs
spotbugs-maven-plugin
- ${basedir}/dev-support/findbugsExcludeFile.xml
+
+ ${basedir}/dev-support/findbugsExcludeFile.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
2048
diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml
index f913e14d2e273..8b65b09e0a12d 100644
--- a/hadoop-project/pom.xml
+++ b/hadoop-project/pom.xml
@@ -2633,6 +2633,23 @@
com.google.code.maven-replacer-plugin
replacer
+
+ org.commonjava.maven.plugins
+ directory-maven-plugin
+ 1.0
+
+
+ calc-repo-root
+
+ highest-basedir
+
+ initialize
+
+ repo.root
+
+
+
+
diff --git a/hadoop-tools/hadoop-aliyun/pom.xml b/hadoop-tools/hadoop-aliyun/pom.xml
index 273391cee497f..2a141985a85d7 100644
--- a/hadoop-tools/hadoop-aliyun/pom.xml
+++ b/hadoop-tools/hadoop-aliyun/pom.xml
@@ -62,8 +62,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-archive-logs/pom.xml b/hadoop-tools/hadoop-archive-logs/pom.xml
index 702759a783035..a39f763fda453 100644
--- a/hadoop-tools/hadoop-archive-logs/pom.xml
+++ b/hadoop-tools/hadoop-archive-logs/pom.xml
@@ -214,9 +214,14 @@
spotbugs-maven-plugin
true
-
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-aws/pom.xml b/hadoop-tools/hadoop-aws/pom.xml
index 3a0c0f53cf56f..ecd7afe271560 100644
--- a/hadoop-tools/hadoop-aws/pom.xml
+++ b/hadoop-tools/hadoop-aws/pom.xml
@@ -329,8 +329,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-azure/pom.xml b/hadoop-tools/hadoop-azure/pom.xml
index bc853eb8c251c..d0bfc6852befe 100644
--- a/hadoop-tools/hadoop-azure/pom.xml
+++ b/hadoop-tools/hadoop-azure/pom.xml
@@ -56,8 +56,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-benchmark/pom.xml b/hadoop-tools/hadoop-benchmark/pom.xml
index eb30ea621ca6f..b109787beb974 100644
--- a/hadoop-tools/hadoop-benchmark/pom.xml
+++ b/hadoop-tools/hadoop-benchmark/pom.xml
@@ -75,7 +75,11 @@
com.github.spotbugs
spotbugs-maven-plugin
- ${basedir}/src/main/findbugs/exclude.xml
+
+ ${basedir}/src/main/findbugs/exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
diff --git a/hadoop-tools/hadoop-datajoin/pom.xml b/hadoop-tools/hadoop-datajoin/pom.xml
index 1b6b6f1800599..a1f9b1bd0914c 100644
--- a/hadoop-tools/hadoop-datajoin/pom.xml
+++ b/hadoop-tools/hadoop-datajoin/pom.xml
@@ -133,8 +133,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-fs2img/pom.xml b/hadoop-tools/hadoop-fs2img/pom.xml
index 33280e68b90f1..b9ae088e9a07e 100644
--- a/hadoop-tools/hadoop-fs2img/pom.xml
+++ b/hadoop-tools/hadoop-fs2img/pom.xml
@@ -112,7 +112,11 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-gcp/pom.xml b/hadoop-tools/hadoop-gcp/pom.xml
index 934bc13da937e..d8b1c007efeff 100644
--- a/hadoop-tools/hadoop-gcp/pom.xml
+++ b/hadoop-tools/hadoop-gcp/pom.xml
@@ -368,8 +368,12 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
-
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-gridmix/pom.xml b/hadoop-tools/hadoop-gridmix/pom.xml
index 81f336805850e..4b943398f6135 100644
--- a/hadoop-tools/hadoop-gridmix/pom.xml
+++ b/hadoop-tools/hadoop-gridmix/pom.xml
@@ -148,7 +148,11 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-rumen/pom.xml b/hadoop-tools/hadoop-rumen/pom.xml
index 5ba323d6bb380..b453b17c1a0a5 100644
--- a/hadoop-tools/hadoop-rumen/pom.xml
+++ b/hadoop-tools/hadoop-rumen/pom.xml
@@ -127,7 +127,11 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-sls/pom.xml b/hadoop-tools/hadoop-sls/pom.xml
index a822372bd005d..00e7e64b08f0c 100644
--- a/hadoop-tools/hadoop-sls/pom.xml
+++ b/hadoop-tools/hadoop-sls/pom.xml
@@ -137,7 +137,11 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-tools/hadoop-streaming/pom.xml b/hadoop-tools/hadoop-streaming/pom.xml
index 7c2b48accb6a5..a638bc1337dd9 100644
--- a/hadoop-tools/hadoop-streaming/pom.xml
+++ b/hadoop-tools/hadoop-streaming/pom.xml
@@ -154,7 +154,11 @@
spotbugs-maven-plugin
true
- ${basedir}/dev-support/findbugs-exclude.xml
+
+ ${basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max
diff --git a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
index b98ac0bd921b2..81db83645e723 100644
--- a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
+++ b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
@@ -726,4 +726,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hadoop-yarn-project/hadoop-yarn/pom.xml b/hadoop-yarn-project/hadoop-yarn/pom.xml
index cc02b6213f938..db4a50542fde5 100644
--- a/hadoop-yarn-project/hadoop-yarn/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/pom.xml
@@ -44,7 +44,11 @@
spotbugs-maven-plugin
true
- ${yarn.basedir}/dev-support/findbugs-exclude.xml
+
+ ${yarn.basedir}/dev-support/findbugs-exclude.xml
+ ${repo.root}/dev-support/findbugs-exclude-global.xml
+
+
Max