1.下载maven安装包
2.解压后配置环境变量M2_HOME
3.配置执行环境,配置path路径
4.mvn -v 检测maven的安装版本
5.pom.xml
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
6.目录结构
src/main/java
src/main/resources
src/main/test
7.mvn compile 【执行命令的时候会自动下载依赖的插件】
mvn test
mvn clean 删除源文件
mvn package
mvn install 将项目打包安装
8.一个项目引用另一个项目
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
9.本地默认仓库目录:C:\Documents and Settings\Administrator\.m2\repository
10.配置仓库目录[E:\apache-maven-3.0.4\conf]
配置localRepository,并将settings.xml拷贝到自己新建的本地仓库下
Default: ~/.m2/repository
将原来配置目录下的settings.xml的localRepository同步改
拷贝的配置文件在D:/repos目录下
11.配置中央工厂
默认配置是在maven-model-builder-3.0.4.jar中的pom-4.0.0.xml中
12.利用maven骨架生成项目
生成方式一:mvn archetype:generate
生成方式二:mvn archetype:generate -DgroupId=com.zsj.maven -DartifactId=maven-ch03
-Dversion=0.0.1-SNAPSHOT
13.配置Eclipse中的maven
下载安装m2eclipse
windows--preference--maven--installation
windows--preference--maven--user setting
14.maven隐式变量【Maven提供了三个隐式的变量可以用来访问环境变量,POM信息,和Maven Settings】
1.env
env变量,暴露了你操作系统或者shell的环境变量。便 如在Maven POM中一个对${env.PATH}的引用将会被${PATH}环境变量替换,在Windows中为%PATH%.
2.projetc
project变量暴露了POM。可以使用点标记(.)的路径来引用POM元素的值。例如
当你使用mvn help:effective-pom 查看时,你会看到
${basedir} 项目根目录
${project.build.directory} 构建目录,缺省为target
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
${project.packaging} 打包类型,缺省为jar
${project.xxx} 当前pom文件的任意节点的内容
15.maven Scope
在POM 4中,
* compile,缺省值,适用于所有阶段,会随着项目一起发布。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。不会发生传递依赖
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
16.依赖
16.1 A依赖xx1.jar,B依赖于xx2.jar ,A,B依赖相同的jar
如果C依赖于A,B,那么C依赖的jar将跟随先依赖的模块
16.2 依赖级别相同的时候,选择路径最短的
17.排除依赖包
18.聚合多个项目
在eclipse中创建一个简单的maven项目,跳过固有的结构模式
19.继承
在引用模块的配置
依赖继承,在父模块中配置,此时子模块中就不需要填写依赖包的版本信息
****
继承和聚合可以合在一起