1. 显示一个插件所有的goal
  2. 创建一个基于模版的项目,eclipse项目
    //创建标准目录模板
    mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=codelineCommons 
    //创建web项目
    mvn archetype:create -DgroupId=com.mycompany.app    -DartifactId=my-webapp       -DarchetypeArtifactId=maven-archetype-web 
    mvn archetype:generate -DgroupId=com.trinea.maven.test -DartifactId=maven-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    其中DgroupId指定groupId,DartifactId指定artifactId,DarchetypeArtifactId指定ArchetypeId
  3. 查看一个插件所用的版本
    mvn -Dplugin=groupId:artifactId help:describe
  4. 忽略编译test
    mvn -Dmaven.test.skip=true
  5. 一个jar文件,它是maven的一个插件,怎么安装到本地库。
       mvn install:install-file
           -Dfile=
        -DgroupId=
        -DartifactId=
        -Dversion=
        -Dpackaging=
        -DgeneratePom=true
  6. maven的生命周期
        validate,验证工程是否正确,所有需要的资源是否可用。 
        compile,编译项目的源代码。 
        test-compile,编译项目测试代码。 
        test,使用已编译的测试代码,测试已编译的源代码。 
        package,已发布的格式,如jar,将已编译的源代码打包。 
        integration-test,在集成测试可以运行的环境中处理和发布包。 
        verify,运行任何检查,验证包是否有效且达到质量标准。 
        install,把包安装在本地的repository中,可以被其他工程作为依赖来使用 
       deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。  
       generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
  7. Dependency Scope
     compile,缺省值,适用于所有阶段,会随着项目一起发布。 
     provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
     runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
     test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
     system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它
     eg:
     
        hibernate
        hibernate
        3.0.3
        test
     
  8. mvn常用参数
    mvn -e 显示详细错误
    mvn -U 强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖)
    mvn -o 运行offline模式,不联网更新依赖
    mvn -N仅在当前项目模块执行命令,关闭reactor
    mvn -pl module_name在指定模块上执行命令
    mvn -ff 在递归执行命令过程中,一旦发生错误就直接退出
    mvn -Dxxx=yyy指定java全局属性
    mvn -Pxxx引用profile xxx