1、依赖
依赖声明包含的元素:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>...</type>
<scope>...</scope>
<optional>...</optional>
<exclusions>
<exclusion>...</exclusion>
...
</exclusions>
</dependency>
groupId artifactId version : 依赖的基本坐标
type : 依赖的类型, 对应项目生成坐标的packaging, 默认为jar
scope : 依赖的范围, 默认compile
optional : 标记依赖是否可选, 默认false
exclusions : 用来排除传递依赖
2、依赖的类型
maven在编译项目主代码时需要使用一套classpath, 依赖范围就是用来控制依赖与三种classpath (编译classpath, 测试classpath, 运行classpath)的关系。
maven依赖范围有下列几种:
compile : 编译、测试和运行都有效
test : 测试有效, 编译和运行有效
provided : 编译和测试有效, 运行无效
runtime : 编译无效, 测试和运行有效
system : 与provided一样品, 但必须使用systemPath <systemPath>${java.home}/lib/rt.jar</systemPath>
import : maven2.0.9以上的版本才有,与三种classpath无关,必须在dependencyManagement中才有效
3、聚合
4、继承
自动创建maven工程 : mvn archetype:generate
找不到maven环境在jdk中设定:
-Dmaven.multiModuleProjectDirectory=$M2_HOME
依赖声明包含的元素:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>...</type>
<scope>...</scope>
<optional>...</optional>
<exclusions>
<exclusion>...</exclusion>
...
</exclusions>
</dependency>
groupId artifactId version : 依赖的基本坐标
type : 依赖的类型, 对应项目生成坐标的packaging, 默认为jar
scope : 依赖的范围, 默认compile
optional : 标记依赖是否可选, 默认false
exclusions : 用来排除传递依赖
2、依赖的类型
maven在编译项目主代码时需要使用一套classpath, 依赖范围就是用来控制依赖与三种classpath (编译classpath, 测试classpath, 运行classpath)的关系。
maven依赖范围有下列几种:
compile : 编译、测试和运行都有效
test : 测试有效, 编译和运行有效
provided : 编译和测试有效, 运行无效
runtime : 编译无效, 测试和运行有效
system : 与provided一样品, 但必须使用systemPath <systemPath>${java.home}/lib/rt.jar</systemPath>
import : maven2.0.9以上的版本才有,与三种classpath无关,必须在dependencyManagement中才有效
3、聚合
4、继承
自动创建maven工程 : mvn archetype:generate
找不到maven环境在jdk中设定:
-Dmaven.multiModuleProjectDirectory=$M2_HOME