本文主要是介绍剖析Maven总括,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Maven:Maven是一个集编译,测试、打包、运行、部署、发布于一身的构建工具。
Maven是一个jar依赖管理框架,为整个Java世界的jar定上了经纬度。
扩展:相似工具还有Ant,grandle
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: 导入依赖
这篇关于剖析Maven总括的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!