zoukankan      html  css  js  c++  java
  • Maven的学习

    Maven的学习(没蚊)

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

    转载请注明 出自 : luogg的博客园 谢谢配合!

    与maven功能类似的技术,ant,git

    一.什么是maven

    maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理.

    二.maven的安装

    (jdk必须1.6以上)

    1.解压
    2.将需要的jar包放入m2文件夹,仓库
    3.修改setting.xml,将localRepository元素中的路径指向m2jar包路径
    4.修改环境变量

    setting.xml中配置仓库路径localRepository的时候千万别用中文路径

    三.maven的约定

    src/main/java : (Source Folder)存放项目的java文件
    src/main/resources 存放项目的资源文件,如spring,hibernate的配置文件
    src/test/java 存放所有的测试的java文件
    src/test/resources 存放测试用的资源文件
    target 项目输出位置
    pom.xml 文件(坐标)

    这里写图片描述

    四.判断是否安装成功

    svn -v(ersion)

    若没有安装成功,可能是环境变量没有配置

    五.pom中的坐标

    pom.xml文件中每一个jar包都有一个坐标
    坐标是由groupId,artifactId,version,scop组成的,scope默认是compile.

    groupId : 一个组织

    artifactID : 项目名称

    version : 版本号

    JAR文件的名字 = artifactID-version

    六.maven常用命令

    mvn compile : 编译,编译之后生成target目录,里边存放class文件.

    mvn clean : 清空target目录

    mvn test : 编译并生成报告

    mvn package : 打包成jar包

    mvn install : 将jar包部署到仓库

    七.maven生命周期

    清理->编译->测试->报告->打包->部署

    八.pom.xml的格式

    如果项目B需要依赖于项目A , 那么,在项目B的pom.xml中需要写入依赖关系 :

    <dependencies>
       	<dependency>
       	    //组名,基本一个组下边所有项目,groupID都一样
       		<groupId>com.itheima11</groupId>
       		//项目名
       		<artifactId>Hello</artifactId>
       		//版本号
       		<version>0.0.1-SNAPSHOT</version>
       	</dependency>
       </dependencies>
    

    九.eclipse创建maven项目

    需要先创建一个workingSet

    创建的时候,选择maven骨架,atrifactID为maven-archetype-quickstart

    run as macen build, goals : 输入compile

    创建maven项目之后,默认用的jdk1.5的版本,需要换成本机的jdk版本.

    十.maven的依赖传递和继承

    依赖的传递 : 若项目A依赖于项目B,项目C又依赖于项目A,那么项目C会去依赖于项目B的,

    maven的继承 : 若项目Base中有junit依赖,HelloBase工程也有junit依赖,那么HelloBase依赖于Base的话,就不需要再写junit依赖了.继承了Base中的依赖.

    我们将基类Base中pom.xml中的<packaging>pom</packaging>设置为pom格式, 在HelloBase工程下边,用parent的格式引入Base中pom依赖的包

       <parent>
       	<groupId>com.itheima11.maven</groupId>
       	<artifactId>Base</artifactId>
       	<version>0.0.1-SNAPSHOT</version>
       </parent>
    

    十一.maven私服nexus

    setting.xml的配置中, 先从本地库找对应的jar包,如果本地库找不到,就去网上找,配置了私服的话, 就去私服找,通过私服,去网上找.

    私服的使用需要在setting.xml文件中配置.

    十二.配置阿里的jar包下载路径

    修改setting.xml配置文件,

    <servers>
    <server>
       	<id>tomcat7</id>
       	<username>admin</username>
       	<password>admin</password>
       </server>
     </servers>
    <mirrors>
    <mirror>
           <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
           <name>aliyun maven</name>
           <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
            </mirror>
            <mirror>
                <id>repo1</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo1.maven.org/maven2/</url>
            </mirror>
            <mirror>
                <id>repo2</id>
                <mirrorOf>central</mirrorOf>
                <name>Human Readable Name for this Mirror.</name>
                <url>http://repo2.maven.org/maven2/</url>
            </mirror>     
     </mirrors>
    
  • 相关阅读:
    Linux curl命令详解
    php技能树---大神的进阶之路
    PHP Socket 编程之9个主要函数的使用之测试案例
    史上最全的PHP正则表达式
    php 简单使用redis 队列示例
    PHP中使用 Memcached 的测试案例
    机动车驾驶(1)--- 禁令标志汇总 by John
    闵可夫斯基和(Mincowsky sum)
    二维平面上判断点是否在三角形内
    计算任意多边形的面积
  • 原文地址:https://www.cnblogs.com/luogg/p/6652319.html
Copyright © 2011-2022 走看看