Maven教程..
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•<groupId>com.juvenxu.mvnbook</groupId> •<artifactId>hello-world</artifactId> •<version>1.0-SNAPSHOT</version> <name>Maven Hello World Project</name> </project>
依赖原则
路径优先原则 第一声明优先原则
Maven的基础知识-传递依赖的关系
Juyee项目研发
第二直接 依赖 第一直 接依赖 Compile Test Provided Runtime
Compile
Test
Provided
Runtime
Compile Test Provided Runtime
-----
Maven的基础知识-编写POM
Juyee项目研发
示例: 1、手动建立Maven项目 2、用IntelliJ IDEA 快速建立一个简单的Maven项目。
Maven的基础知识-坐标依赖
Juyee项目研发
<project ...> ... <dependencies> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>3.0.5.RELEASE</version> <scope>compile</scope> <classifier>jdk15</classifier> <exclusions> <exclusion> .... </exclusion> </exclusions> </dependency> </dependencies> .... </project>
为什么选择 Maven
Juyee项目研发
1、需求 项目环境搭建 项目编码实现 项目发布 .......
同类工具的比较
Juyee项目研发
Make Ant Maven
en的基础知识-安装与配置
Juyee项目研发
在安装Maven之前,首先要确认你已经正确安装了JDK。Maven可以运 行在JDK 1.4及以上的版本上。 Maven的下载页面:/download.html,其 中包含针对不同平台的各种版本的Maven下载文件。 将安装文件解压到你指定的目录中,如:D:\bin>jar xvf "C:\Users\Juven Xu\Downloads\apache-maven-3.0--bin.zip“,这里 的Maven安装目录是D:\bin\apache-maven-3.0,接着需要设置环境 变量,将Maven安装配置到操作系统环境中。 配置环境,变量名为M2_HOME,变量值为Maven的安装目录 D:\bin\apache-maven-3.0。修改Path的变量,在变量值的末尾加上 %M2_HOME%\bin;。 测试maven环境,运行C:\Users\ Juyee>mvn –v
Maven的基础知识-安装与配置
Juyee项目研发
设置MAVEN_OPTS环境变量, MAVEN_OPTS的值为:-Xms128m Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运 行的需要。 配置用户范围settings.xml,Maven用户可以选择配置 $M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是 全局范围的,整台机器上的所有用户都会直接受到该配置的影响,而 后者是用户范围的,只有当前用户才会受到该配置的影响。
Maven的基础知识-依赖范围
Juyee项目研发
依赖范围 (scope) Compile Test Provided Runtime
编译有效 Y -Y --
测试有效 Y Y Y Y
运行时有效 Y --Y
例子 Spring-core JUnit Servlet-api JDBC驱动实现
System
Y
--Provided --
Runtime Test Provided Runtime
A
第一依赖
B
第二依赖
C
Maven的基础知识-依赖应用时的技巧
Juyee项目研发
依赖应用技巧
排除依赖 归类依赖 优化依赖
Maven的基础知识-排除依赖
Juyee项目研发
Juyee项目研发
学习总结
项目管理-Maven
Juyee
Maven 简介
Juyee项目研发
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项 目的构建,报告和文档的软件项目管理工具。
Maven这个词可以翻译为“知识的积累”,也可以翻译成“专家”或 “内行”。它主要服务于基于jave平台的项目构建、依赖管理和项目信息 管理。
Y
--
本地的,Maven 仓库之外的类库 文件
Maven的基础知识-依赖的特点
Juyee项目研发
传递性依赖
A
B
C
传递性引发的问题
比如有如下依赖关系:a->b->c->x(1.0)、a->d->x(2.0),那么哪个x包会被 maven解析?还是两个包都会被解析? 比如有如下依赖关系:a->b->x(1.0)、a->c->x(2.0),那么哪个x包会被maven 解析?还是两个包都会被解析?
Maven的基础知识-编写POM
Juyee项目研发
<?xml version="1.0" encoding="UTF-8"?> •<project xmlns="/POM/4.0.0" • xmlns:xsi="/2001/XMLSchema-instance" •xsi:schemaLocation="/POM/4.0.0 /maven-v4_0_0.xsd"> •<modelVersion>4.0.0</modelVersion>
依赖原则
路径优先原则 第一声明优先原则
Maven的基础知识-传递依赖的关系
Juyee项目研发
第二直接 依赖 第一直 接依赖 Compile Test Provided Runtime
Compile
Test
Provided
Runtime
Compile Test Provided Runtime
-----
Maven的基础知识-编写POM
Juyee项目研发
示例: 1、手动建立Maven项目 2、用IntelliJ IDEA 快速建立一个简单的Maven项目。
Maven的基础知识-坐标依赖
Juyee项目研发
<project ...> ... <dependencies> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>3.0.5.RELEASE</version> <scope>compile</scope> <classifier>jdk15</classifier> <exclusions> <exclusion> .... </exclusion> </exclusions> </dependency> </dependencies> .... </project>
为什么选择 Maven
Juyee项目研发
1、需求 项目环境搭建 项目编码实现 项目发布 .......
同类工具的比较
Juyee项目研发
Make Ant Maven
en的基础知识-安装与配置
Juyee项目研发
在安装Maven之前,首先要确认你已经正确安装了JDK。Maven可以运 行在JDK 1.4及以上的版本上。 Maven的下载页面:/download.html,其 中包含针对不同平台的各种版本的Maven下载文件。 将安装文件解压到你指定的目录中,如:D:\bin>jar xvf "C:\Users\Juven Xu\Downloads\apache-maven-3.0--bin.zip“,这里 的Maven安装目录是D:\bin\apache-maven-3.0,接着需要设置环境 变量,将Maven安装配置到操作系统环境中。 配置环境,变量名为M2_HOME,变量值为Maven的安装目录 D:\bin\apache-maven-3.0。修改Path的变量,在变量值的末尾加上 %M2_HOME%\bin;。 测试maven环境,运行C:\Users\ Juyee>mvn –v
Maven的基础知识-安装与配置
Juyee项目研发
设置MAVEN_OPTS环境变量, MAVEN_OPTS的值为:-Xms128m Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运 行的需要。 配置用户范围settings.xml,Maven用户可以选择配置 $M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是 全局范围的,整台机器上的所有用户都会直接受到该配置的影响,而 后者是用户范围的,只有当前用户才会受到该配置的影响。
Maven的基础知识-依赖范围
Juyee项目研发
依赖范围 (scope) Compile Test Provided Runtime
编译有效 Y -Y --
测试有效 Y Y Y Y
运行时有效 Y --Y
例子 Spring-core JUnit Servlet-api JDBC驱动实现
System
Y
--Provided --
Runtime Test Provided Runtime
A
第一依赖
B
第二依赖
C
Maven的基础知识-依赖应用时的技巧
Juyee项目研发
依赖应用技巧
排除依赖 归类依赖 优化依赖
Maven的基础知识-排除依赖
Juyee项目研发
Juyee项目研发
学习总结
项目管理-Maven
Juyee
Maven 简介
Juyee项目研发
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项 目的构建,报告和文档的软件项目管理工具。
Maven这个词可以翻译为“知识的积累”,也可以翻译成“专家”或 “内行”。它主要服务于基于jave平台的项目构建、依赖管理和项目信息 管理。
Y
--
本地的,Maven 仓库之外的类库 文件
Maven的基础知识-依赖的特点
Juyee项目研发
传递性依赖
A
B
C
传递性引发的问题
比如有如下依赖关系:a->b->c->x(1.0)、a->d->x(2.0),那么哪个x包会被 maven解析?还是两个包都会被解析? 比如有如下依赖关系:a->b->x(1.0)、a->c->x(2.0),那么哪个x包会被maven 解析?还是两个包都会被解析?
Maven的基础知识-编写POM
Juyee项目研发
<?xml version="1.0" encoding="UTF-8"?> •<project xmlns="/POM/4.0.0" • xmlns:xsi="/2001/XMLSchema-instance" •xsi:schemaLocation="/POM/4.0.0 /maven-v4_0_0.xsd"> •<modelVersion>4.0.0</modelVersion>