# Maven Commands

## Build Command

This is the ultimate Maven command I currently use:

1. Clean and install without failing on tests.

2. Generate a test report.

3. Produce a dependency tree for debugging (saved in `tree.now` file).

4. Include a reference to the parent in the same file (`tree.now` file).

5. Open the test report in the default browser.

```SHELL
mvn clean install surefire-report:report dependency:tree site -DgenerateReports=false -U -Dmaven.test.failure.ignore=true -Dmaven.plugin.validation=verbose -Dsonar.login=$SONAR_LOGIN && mvn dependency:tree >> tree.now && mvn dependency:display-ancestors >> tree.now && start target/site/surefire-report.html
```

To skip Sonar and Snyk:

```SHELL
mvn clean install surefire-report:report dependency:tree site -DgenerateReports=false -Dsonar.skip=true -Dsnyk.skip=true -U -Dmaven.test.failure.ignore=true -Dmaven.plugin.validation=verbose -Dsonar.login=$SONAR_LOGIN && mvn dependency:tree >> tree.now && mvn dependency:display-ancestors >> tree.now && start target/site/surefire-report.html
```

## Maven Formatter

> **Tip:**
> References
>
>
>
> [Formatter Maven Plugin Documentation](https://code.revelc.net/formatter-maven-plugin/)

