Shankh is London based consultancy started on 2011 to provide consultancy services primarily in Java. With several successful Java projects under our belt, we started exploring mobile based services towards end of 2012 which led to our first android/ios/windows-phone app which is staged for release in 2013

Some Random quotes

Innovation distinguishes between a leader and a follower. -Steve Jobs

It is not that i am smarter than others, i just persist with problems longer

Maven Commands Reference Mini Guide

In maven , we have several commands to remember and i was thinking of having a page with simple command reference so that i can have a quick look whenever needed. I have compiled a list of mostly used commands and some settings and useful links. Now publishing it so that it could be useful to others too . Feel free to add more commands to the comments section.

1. Compile

 mvn compile

2. Compile (offline)

 mvn -o compile

will save you a lot of time

3. Install the generated output to the respective repository

mvn install

4. Clean Target Directory

mvn clean

5. Package as jar or war

mvn package

6. Generate Eclipse project descriptors

mvn eclipse:eclipse

7. Run unit tests

mvn test

8. Run unit tests and print the output to console rather than to file

mvn -Dsurefire.useFile=false test

9. Run individual test

mvn test –Dtest=org.shankh.mavenTest

10. Package without running tests

mvn package -Dmaven.test.skip

11. Install without Running Tests

mvn install -Dmaven.test.skip

12. To download source code into your maven repo:

mvn eclipse:clean eclipse:eclipse –DdownloadSources=true

13. Create a new project

mvn archetype:generate -DartifactId=my-app

Comment : Instead of ‘generate’ i wrote ‘create’ initially, but as simonz correctly pointed out, mvn archetype:create is now deprecated. so use mvn archetype:generate instead.

14. Create a Web Application

mvn archetype:generate

15. Start embedded Jetty

mvn jetty:run

16. Deploys a WAR to embedded instance of Jetty and starts it

mvn jetty:run-war

17. Specify Java Build version


18. Generate site for a single project

mvn site

19. Generate Javadoc

mvn javadoc:javadoc

20. Set Maven_opts System environment variable (will save you from out of memory error)

MAVEN_OPTS=”-Xmx512m -Xms256m -XX:MaxPermSize=128m”

21. Setting M2 variable in eclipse (informing of repository location

Goto Window -> Preferences -> Java -> build path -> classpath variable -> New
Name: M2_REPO
C:\Users\my_user_name\.m2\repository  (In vista)
C:\Documents And Settings\my_user_name\.m2\repository  (In XP)
~/.m2/repository (in Linus/ unix flavours)

22. Links

1. Settings.xml sample:

2. Maven Download:

3. M2 eclipse download:

4. M2 eclipse update site:

5. Cargo:

6. Jetty:


11 Responses to “Maven Commands Reference Mini Guide”

  1. Thai Dang Vu Says:

    I just knew of mvn exec:java -Dexec.mainClass=”com.example.Main” [-Dexec.args=”argument1″] …

    mvn help:effective-pom

    mvn dependency:tree

  2. Mike Says:

    Defines and other options typically are listed at the end so

    mvn -Dmaven.test.skip package

    is usually written as

    mvn package -Dmaven.test.skip=true

  3. Ravi Says:

    Is there a way in maven to get all the life cycle phases (aka tasks) that the project can execute – equivalent of that is ant -projecthelp.

  4. thomas11 Says:

    Thanks for compiling this, pretty useful!

  5. simonz Says:

    mvn archetype:create is deprecated
    use “mvn archetype:generate” instead of it
    it’s a goal to create project interactively

  6. Maven Commands Reference Mini Guide | | HiTechBooks Says:

    […] Continue reading here: Maven Commands Reference Mini Guide | […]

  7. Rakesh Says:

    Option to download javadoc as well

    mvn eclipse:clean eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true -Dwtpversion=1.0

  8. Rakesh Says:

    mvn eclipse:clean eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true -Dwtpversion=1.0

    above mentioned option only works with eclipse plugin, following is an alternate way

    mvn dependency:sources

  9. szimi Says:

    Thx, pretty useful

  10. shai Says:

    good one. quick reference at one short place. Thanks

  11. Kiran@Maven command tutorials Says:

    Very pretty useful for developers.
    install is goal is to deploye to local repository
    deploye goal not mentioned here, to copy to remote repository.

    Please clicke here Maven command tutorial with explanation to know more.

Leave a Reply