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>
posted @ 2017-03-31 17:08  洛GG  阅读(185)  评论(0编辑  收藏  举报