Skip to content

Instantly share code, notes, and snippets.

@vpiotr
Last active February 26, 2024 21:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vpiotr/a5a83143fa1766a48532fda54a773f01 to your computer and use it in GitHub Desktop.
Save vpiotr/a5a83143fa1766a48532fda54a773f01 to your computer and use it in GitHub Desktop.

Basic commands

Run Maven from another directory:

 mvn -f tutorials/pom.xml clean verify

Run JAR application via exec-maven-plugin:

 mvn exec:java

Run Spring application:

  mvn clean spring-boot:run

Testing

  • run unit tests

    mvn clean test
    
  • run unit and integration tests

    mvn clean verify
    
  • generate Surefire report

    mvn surefire-report:report-only
    
  • generate both reports

    mvn surefire-report:report-only surefire-report:failsafe-report-only
    
  • build projects without testing and generate sources

    mvn -Dmaven.test.skip=true clean source:jar install
    
  • build test artifacts

    mvn clean test-compile jar:test-jar install
    

Building

Generate console app

  mvn archetype:generate -DgroupId=com.{group}.app -DartifactId={App Name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Build single jar app

  1. update pom.xml - see: https://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven

  2. run

    mvn clean compile assembly:single
    

Download sources & javadoc

  mvn dependency:sources dependency:resolve -Dclassifier=javadoc

Dependencies

  • Generate dependency tree

    mvn dependency:list | grep log4j
    mvn dependency:tree -Dverbose >dependency-tree.txt
    
  • Generate effective pom

    mvn help:effective-pom
    
  • Generate list of used plugins

    mvn help:effective-pom -Doutput=effective-pom.xml
    grep "<plugin>" -A 3 effective-pom.xml
    

JaCoCo - code coverage reports

Generate report

  mvn jacoco:report

Security - OWASP plugin

Generate report

  mvn dependency-check:aggregate

JavaDoc

Generate JavaDoc documentation:

  mvn javadoc:javadoc

See also:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment