maven学习

  • 安装maven
    下载maven3.2.3,解压,配置两个环境变量
    MAVEN_HOME: 解压后的maven
    MAVEN: %MAVEN_HOME%\bin

  • 创建一个maven项目
    mvn archetype:generate -DgroupId=com.mi.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

    其中-DarchetypeArtifactId=maven-archetype-quickstart 是指定项目类型的,若要创建web项目,则该参数的值为 maven-archetype-webapp

创建后的文件结构:

    my-app
         |---pom.xml
         |---src
                |---main
                |       |---java
                |              |---com.mi.app
                |---test 
                       |---java
                               |---com.mi.app
  • maven生命周期

    • validate 验证 只是验证项目结构,必要的文件(如pom.xml)
    • compile 编译 编译的时候会检查pom中配置的jar包,若没有,就去下载。编译后在项目根目录下生成target目录
    • test 测试 默认是以本地编码,即gbk
    • package 打包
    • integration-test 集成测试
    • verify 确认
    • install 安装
    • deploy 部署
    • clean 清理 删除 target 文件夹
    • site 建站
  • 例如打包
    mvn package
    会依次执行 validate–>compile–>test–>package 最终生成 target(classes文件夹),并打包。

  • 修改远程仓库
    有时maven默认的中央仓库下载速度太慢了,需要更换为其他的仓库,可在settings.xml 中添加 mirrors,如下添加了一个中国的maven镜像。

    <mirror>  
        <id>maven-net-cn</id>  
        <name>Maven China Mirror</name>  
        <url>http://maven.net.cn/content/groups/public/</url>  
        <mirrorOf>central</mirrorOf>  
    </mirror>
    
  • maven的优点
    简而言之,“Maven仓库能帮助我们管理构件(主要是JAR)”。
    对于SSH项目来说,光是各种jar包就有一大堆,有apache的,junit,ssh,各种jar包,每次做新项目,都要先拷贝一大堆jar包,而且还要保证不冲突。很是麻烦。maven就可以帮助我们管理这些jar包,很方便。

    参考文档:
    http://maven.apache.org/guides/getting-started/index.html#How_can_Maven_benefit_my_development_process
    http://my.oschina.net/u/567296/blog/288070

你可能感兴趣的:(maven学习)