If I designated the profile, for example -Pall-subprojects, rat:check won't run in any of the subprojects.
If I designated -Pno-it, rat:check will run only in testsuite subproject.
If I designated -Ptools, which does not contain any subprojects, it will run in all subprojects.
So, the program logic is inverted.. I have to use -Ptools to do rat:check..

4. mvn release:prepare -DdryRun=true -Pall-subprojects

Diff the original file pom.xml with the one called pom.xml.tag to see if the license or any other info has been removed. This has been known to happen if the starting <project> tag is not on a single line.

The only things that should be different between these files are the <version> and <scm> elements. Any other changes you must backport yourself to the original pom.xml file and commit before proceeding with the release.