Maven

作者: 苟雨 | 来源:发表于2017-09-09 22:41 被阅读295次
    入门

    OS X使用brew安装

     brew instal maven
    

    然后建立一个项目,在根目录下建立pom.xml文件;
    或者找一个开源项目如 https://github.com/spring-projects/spring-mvc-showcase
    可以查看他的pom.xml文件

    Maven管理生命周期

    Maven有三套独立的生命周期,分别是clean:目的是清理项目,default:构建项目,site:建立项目站点。这些都是通过插件来运行的,maven默认已经导入了必要的插件,如果还需要其他的可以自己导入。
    每个周期有不同的阶段,
    clean:
    pre-clean,
    clean 清理上一次构建生成的文件,
    post-clean 执行清理后需要完成的工作,
    mvn clean 清理命令;
    mvn clean compile清理编译命令;
    mvn clean test测试命令;

    default 周期比较复杂,主要完成编译测试并且安装到maven仓库的功能,
    mvn package 把maven项目打包成jar包或者war包;
    mvn package -Dmaven.test.skip=true maven打包不执行测试用例的命令;
    mvn install 打包之后安装到本地仓库,然后其他项目可以引用;

    site 周期用于生成项目站点,用于交流和发布项目信息,
    mvn site 生成项目网站目录;

    同时运行两个生命周期,
    mvn clean package 打包命令;
    mvn clean site生成网站命令;
    其他,
    mvn eclipse:eclipse 生成eclipse项目管理文件;
    mvn idea:idea 生成idea项目管理文件;
    mvn jetty:run 运行项目于内嵌jetty服务器,也可以使用mvn tomcat:run 用tomcat运行;

    怎样查找(定位)maven中央仓库中的库:

    可以通过groupId,artifactId,version,packaging,class-sider等来定位唯一的一个库;
    groupId:定义当前Maven项目隶属项目
    artifactId:定义实际项目中的一个模块
    version:定义当前项目的当前版本
    packaging:定义该项目的打包方式当不定义packaging的时候,Maven 会使用默认值jar
    classifier: 该元素用来帮助定义构建输出的一些附件,比如TestNG的主构建是基于jdk4的,它有提供了一个jdk5的附属构件
    也可以访问https://search.maven.org搜索

    仓库类型

    本地仓库:默认为~/.m2/repository/ ,每个用户只有一个本地仓库

    cd ~/.m2/repository/
    

    远程仓库
    中央仓库:Maven默认的远程仓库, http://repo1.maven.org/maven2

    镜像:用来替代中央仓库,下载速度一般比中央仓库快
    maven添加镜像地址:修改~/.m2/settings.xml

    vim ~/.m2/settings.xml
    # 输入
    <mirrors>
        <mirror>
               <id>ibiblio.org</id>    
               <mirrorOf>central</mirrorOf>  #central表示是中央仓库的镜像
               <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
               <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
         </mirror>
         <mirror> 
             <id>jboss-public-repository-group</id> 
             <mirrorOf>central</mirrorOf> 
             <name>JBoss Public Repository Group</name> 
             <url>http://repository.jboss.org/nexus/content/groups/public</url> 
         </mirror> 
     <mirror>
      <id>nexus-osc</id>
      <mirrorOf>*</mirrorOf> #表示所有仓库的镜像,任何对远程仓库的请求都会被重定向
      <name>Nexus osc</name>
      <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror>
      </mirrors>
    

    相关文章

      网友评论

          本文标题:Maven

          本文链接:https://www.haomeiwen.com/subject/asbajxtx.html