The profile parent pom inherits from If you are able to accept more opinionated defaults continue to The profile parent contains a number of plugins you may want to enable each wrapped individually in a maven profile Usage Inherit from in your project s pom xml What you will get The following sections describe the profiles that are added by You will not need to configure these in your project s pom xml if you inherit from You can enable the profiles using Active by default According to the docs Profiles can be active by default using a configuration like the following in a POM This profile will automatically be active for all builds unless another profile in the same POM is activated using one of the previously described methods All profiles that are active by default are automatically deactivated when a profile in the POM is activated on the command line or through its activation config This is confusing for new users who are first confused to find some profiles are enabled by default and later confused to find out that they are no longer enabled No profiles in are active by default and we recommend avoiding in your project s pom xml too maven enforcer plugin The Enforcer plugin provides goals to control certain environmental constraints such as Maven version JDK version and OS family along with many more built in rules and user created rules The dependencyConvergence rule requires that dependency version numbers converge If a project has two dependencies A and B both depending on the same artifact C this rule will fail the build if A depends on a different version of C than the version of C depended on by B The requirePluginVersions rule enforces that all plugins have a version defined either in the plugin or pluginManagement section of the pom or a parent pom The bannedDependencies rule is configured to ban all loggers except Log4j 1 x and Logback The banDuplicatePomDependencyVersions checks that there are no duplicate dependencies declared in the POM of the project Duplicate dependencies are dependencies which have the same group id artifact id type and classifier extra enforcer rules The project provides extra rules which are not part of the standard rule set The configures to use the liftwizard minimal parent bill of materials liftwizard profile parent <parent> <groupId>io liftwizard< groupId> <artifactId>liftwizard profile parent< artifactId> <version>$ liftwizard version < version> < parent> liftwizard profile parent liftwizard profile parent mvn activate profiles <profile1> <profile2> <profiles> <profile> <id>profile name< id> <activation> <activeByDefault>true< activeByDefault> < activation> < profile> < profiles> liftwizard profile parent activeByDefault <profile> <id>maven enforcer plugin< id> <build> <plugins> <plugin> <artifactId>maven enforcer plugin< artifactId> <configuration> <rules> <dependencyConvergence > <requirePluginVersions> <banLatest>true< banLatest> <banRelease>true< banRelease> <banSnapshots>false< banSnapshots> <unCheckedPluginList xml space preserve > org apache maven plugins maven site plugin org apache maven plugins maven deploy plugin < unCheckedPluginList> < requirePluginVersions> <bannedDependencies> <excludes combine children append > <exclude>commons logging api< exclude> <exclude>commons logging< exclude> <exclude>com sun activation javax activation< exclude> <exclude>javax activation javax activation api< exclude> <exclude>javax servlet javax servlet api< exclude> <exclude>javax validation validation api< exclude> <exclude>javax ws rs javax ws rs api< exclude> <exclude>javax xml bind jaxb api< exclude> <exclude>javax xml ws jaxws api< exclude> <exclude>log4j log4j< exclude> <exclude>org apache logging log4j log4j< exclude> <exclude>org slf4j jcl< exclude> <exclude>org slf4j nop< exclude> <exclude>org slf4j slf4j jdk14< exclude> <exclude>org slf4j slf4j log4j12< exclude> <exclude>org slf4j slf4j simple< exclude> < excludes> < bannedDependencies> <bannedDependencies> <excludes> <exclude>com google auto value auto value< exclude> < excludes> <message>Move auto value to maven compiler plugin s annotationProcessorPaths The compile time dependency is com google auto value auto value annotations< message> < bannedDependencies> <bannedDependencies> <excludes> <exclude>com google auto service auto service< exclude> < excludes> <message>Move auto service to maven compiler plugin s annotationProcessorPaths The compile time dependency is com google auto service auto service annotations< message> < bannedDependencies> <bannedDependencies> <excludes> <exclude>org junit jupiter junit jupiter engine< exclude> <exclude>org junit platform junit platform engine< exclude> < excludes> < searchTransitive is set to false because dropwizard testing violates this rule through jersey test framework core > <searchTransitive>false< searchTransitive> <message>To use JUnit 5 depend on org junit jupiter junit jupiter api If you need a particular engine move the dependency into the dependencies section of maven surefire plugin < message> < bannedDependencies> <bannedDependencies> <excludes> <exclude>org junit vintage junit vintage engine< exclude> < excludes> <searchTransitive>false< searchTransitive> <message>To use JUnit 4 depend on junit junit If you need a particular engine move the dependency into the dependencies section of maven surefire plugin < message> < bannedDependencies> <banDuplicatePomDependencyVersions > <banDuplicateClasses> <findAllDuplicates>true< findAllDuplicates> <ignoreWhenIdentical>true< ignoreWhenIdentical> < banDuplicateClasses> < rules> < configuration> <executions> <execution> <id>enforce< id> <goals> <goal>enforce< goal> < goals> < execution> < executions> < plugin> < plugins> < build> < profile> <profile> <id>prettier check< id> <build> <plugins> <plugin> <groupId>com hubspot maven plugins< groupId> <artifactId>prettier maven plugin< artifactId> <executions> <execution> <goals> <goal>check< goal> < goals> <phase>validate< phase> < execution> < executions> < plugin> < plugins> < build> < profile> <profile> <id>prettier apply< id> <build> <plugins> <plugin> <groupId>com hubspot maven plugins< groupId> <artifactId>prettier maven plugin< artifactId> <executions> <execution> <goals> <goal>write< goal> < goals> <phase>validate< phase> < execution> < executions> < plugin> < plugins> < build> < profile> <profile> <id>spotless check< id> <properties> <spotless check skip>false< spotless check skip> < properties> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <executions> <execution> <goals> <goal>check< goal> < goals> <phase>validate< phase> < execution> < executions> < plugin> < plugins> < build> < profile> <profile> <id>spotless apply< id> <properties> <spotless check skip>false< spotless check skip> < properties> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <executions> <execution> <goals> <goal>apply< goal> < goals> <phase>verify< phase> < execution> < executions> < plugin> < plugins> < build> < profile> <profile> <id>spotless formats< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <formats> <format> <toggleOffOn > <includes> <include> gitattributes< include> <include> gitignore< include> < includes> <trimTrailingWhitespace > <endWithNewline > <indent> <tabs>true< tabs> <spacesPerTab>4< spacesPerTab> < indent> < format> < formats> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless java sort imports< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <java> <toggleOffOn> <off>@formatter off< off> <on>@formatter on< on> < toggleOffOn> <importOrder> < use an empty string for all the imports not specified explicitly | to join group without blank line and #` prefix for static imports > <order>java javax #java| #javax #< order> < importOrder> <removeUnusedImports > < java> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless java unused imports< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <java> <toggleOffOn> <off>@formatter off< off> <on>@formatter on< on> < toggleOffOn> <removeUnusedImports > < java> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless prettier java< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <java> <toggleOffOn> <off>@formatter off< off> <on>@formatter on< on> < toggleOffOn> <prettier> <devDependencies> <prettier>3 3 2< prettier> <prettier plugin java>2 6 0< prettier plugin java> < devDependencies> <config> <tabWidth>4< tabWidth> <printWidth>120< printWidth> <parser>java< parser> <plugins>prettier plugin java< plugins> < config> < prettier> < java> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless google java format< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <java> <toggleOffOn> <off>@formatter off< off> <on>@formatter on< on> < toggleOffOn> <googleJavaFormat> <version>1 22 0< version> <style>AOSP< style> <reflowLongStrings>false< reflowLongStrings> < googleJavaFormat> < java> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless java cleanthat< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <java> <toggleOffOn> <off>@formatter off< off> <on>@formatter on< on> < toggleOffOn> < Cleanthat will refactor code but it may break style apply it before formatter > <cleanthat > < java> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless antlr< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <antlr4> <toggleOffOn > <antlr4Formatter > < antlr4> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless sql< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <sql> <toggleOffOn > <includes> <include>** * sql< include> < includes> <excludes> <exclude>** target ** * sql< exclude> < excludes> <prettier> <devDependencies> <prettier plugin sql>0 18 1< prettier plugin sql> < devDependencies> <config> <plugins>prettier plugin sql< plugins> < config> < prettier> < sql> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless pom< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <pom> <toggleOffOn > <sortPom> <expandEmptyElements>false< expandEmptyElements> <spaceBeforeCloseEmptyElement>true< spaceBeforeCloseEmptyElement> <keepBlankLines>true< keepBlankLines> <nrOfIndentSpace>4< nrOfIndentSpace> < Sort order of elements https github com Ekryd sortpom wiki PredefinedSortOrderProfiles > <predefinedSortOrder>recommended_2008_06< predefinedSortOrder> < Custom sort order of elements https raw githubusercontent com Ekryd sortpom master sorter src main resources custom_1 xml > <sortOrderFile > < sortPom> < pom> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless markdown< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <markdown> <toggleOffOn > <includes> <include>** * md< include> < includes> <excludes> <exclude>** target ** * md< exclude> < excludes> <flexmark > < markdown> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless json< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <json> <toggleOffOn > <includes> <include>** * json< include> <include>** * json5< include> < includes> <excludes> <exclude>** target ** * json< exclude> <exclude>** target ** * json5< exclude> <exclude>** archetype resources ** * json< exclude> <exclude>** archetype resources ** * json5< exclude> < excludes> <prettier> <config> <singleQuote>false< singleQuote> < config> < prettier> < json> < configuration> < plugin> < plugins> < build> < profile> <profile> <id>spotless yaml< id> <build> <plugins> <plugin> <groupId>com diffplug spotless< groupId> <artifactId>spotless maven plugin< artifactId> <configuration> <yaml> <toggleOffOn > <includes> <include>** * yaml< include> <include>** * yml< include> < includes> <excludes> <exclude>** target ** * yaml< exclude> <exclude>** target ** * yml< exclude> <exclude>** src main resources archetype resources ** * yml< exclude> < excludes> <prettier> <config> <singleQuote>false< singleQuote> < config> < prettier> < yaml> < configuration> < plugin> < plugins> < build> < profile> extra enforcer rules liftwizard minimal parent maven enforcer plugin extra enforcer rules <plugin> <groupId>org apache maven plugins< groupId> <artifactId>maven enforcer plugin< artifactId> <version>3 5 0< version> <dependencies> <dependency> <groupId>org codehaus mojo< groupId> <artifactId>extra enforcer rules< artifactId> <version>1 9 0< version> < dependency> < dependencies> < plugin>