您的位置:首页 > 其它

剖析Maven总括

2016-05-12 15:01 274 查看
Maven:

Maven是一个集编译,测试、打包、运行、部署、发布于一身的构建工具。

Maven是一个jar依赖管理框架,为整个Java世界的jar定上了经纬度。

扩展:相似工具还有Ant,grandle

maven的益处:

1. maven能够有效的帮助程序员划分和管理项目。

2. maven能够对软件的各个生命周期进行插件式管理,有助于实现自动化控制。

3. maven能够帮助程序员对jar包进行相关的管理。

4. 大多数开源框架的构建都使用maven,这样有助于对于这些开源框架的学习。

5. apache公司的产品,必属精品。

Maven 安装

下载apache maven

解压

配置环境变量

1.确保已经安装JDK ;配置JAVA_HOME



2.配置MAVEN_HOME MAVEN解压路径 例如:D:\env\apache-maven-3.1.0



配置PATH 例如:%MAVEN_HOME%\bin

WIN7如下:



win10如下:



命令行输入 mvn –version进行测试出现下面的信息表示已安装成功

C:\Users\xiaowen>mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:3
7+08:00)
Maven home: D:\software\yiibai.com\apache-maven
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: D:\Program Files\Java\jdk1.8.0_40
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"


Maven的核心内容:

Maven命令

mvn package 构建项目

mvn install 打包部署项目

mvn deploy 发布项目

mvn clean 清理项目

mvn test 执行单元测试

Maven命令的含义实际上是在某个声明周期中进行相关的逻辑操作,以实现和达到某种构建目的。

依赖管理控制;

1.仓库(repository):jar包的存储位置。

1.本地仓库:位于本机磁盘上的仓库

2.私有远程仓库:一般位于局域网的中心仓库

3.中央仓库:由Apache maven维护的互联网仓库

2.依赖传递(Transitive dependency): (没办法进行双向依赖)

compile: 默认的scope。编译、测试、打包全都需要。compile参与依赖传递,就是说,你的项

目A依赖于B(依赖scope是compile),项目C依赖于你的项目A,那么C也就依赖于B。

provided: 表示JDK或者容器会在Runtime时提供这些(jar),如上面说到的servlet api。provided的

东西在编译和测试时会用到,不参与传递依赖。

runtime: 表示编译时不需要,但测试和运行时需要,最终打包时会包含进去。

test: 只用于测试阶段(测试的编译和测试的运行),典型的就是junit的jar

system: 和provided类似,但要求jar是你的系统里已有的,不会在repository里找。

import: 导入依赖
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: