====== Maven Notes ====== ===== General ===== * [[http://cvs.peopleware.be/training/maven/maven2/index.html|Working with maven 2]] * [[http://maven.apache.org/articles.html|Articles on Maven]] * [[http://cvs.peopleware.be/training/maven/maven2/standardDirLayout.html|The Standard Directory Layout]] ===== Searchable Public Repositories ===== * [[http://repo1.maven.org/maven2/]] - Default Maven Repository * [[http://repository.apache.org]] * [[http://www.artifact-repository.org]] * [[http://mvnrepository.com]] * [[http://www.mvnbrowser.com]] * [[http://www.jarvana.com]] * [[http://mavensearch.net]] ===== pom.xml ===== * [[http://maven.apache.org/guides/introduction/introduction-to-the-pom.html|Introduction to the POM]] * [[http://maven.apache.org/ref/2.2.1/maven-model/maven.html|Project Descriptor Reference]] - A reference for the Maven project descriptor used in Maven ===== Build Phases ===== Build lifecycles are defined by a different list of build phases, wherein a build phase represents a stage in the lifecycle. The default lifecycle has the following build phases: * validate - validate the project is correct and all necessary information is available * compile - compile the source code of the project * test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed * package - take the compiled code and package it in its distributable format, such as a JAR. * integration-test - process and deploy the package if necessary into an environment where integration tests can be run * verify - run any checks to verify the package is valid and meets quality criteria * install - install the package into the local repository, for use as a dependency in other projects locally * deploy - done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects. ===== Common Commands ===== * mvn archetype:create\\ -DarchetypeGroupId=org.apache.maven.archetypes\\ -DarchetypeArtifactId=maven-archetype-webapp\\ -DgroupId=com.mycompany.app\\ -DartifactId=my-webapp * mvn compile * mvn test * mvn test-compile * mvn package * mvn install * mvn site * mvn clean * mvn eclipse:eclipse * mvn process-resources