剖析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
![](http://img.blog.csdn.net/20160512145131318?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.配置MAVEN_HOME MAVEN解压路径 例如:D:\env\apache-maven-3.1.0
![](http://img.blog.csdn.net/20160512145222100?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
配置PATH 例如:%MAVEN_HOME%\bin
WIN7如下:
![](http://img.blog.csdn.net/20160512145325445?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
win10如下:
![](http://img.blog.csdn.net/20160512145529853?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
命令行输入 mvn –version进行测试出现下面的信息表示已安装成功
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是一个集编译,测试、打包、运行、部署、发布于一身的构建工具。
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: 导入依赖
相关文章推荐
- Docker之Docker Compose简化复杂容器应用的利器
- 升级正版win10遇到的琐碎事(MBR分区表GPT分区表)
- 447. 在大数组中查找
- Quartz2d 的Path路径
- JavaScript代码-创建交互网页
- ElasticSearch(二)--分布式集群
- java实现简单的单点登录
- 表空间
- setTimeout() 和setInterval()函数的比较
- csdn如何转载别人的文章
- 第三方支付平台:BeeCloud和Ping++对比
- 图像处理--linux opencv2多线程人脸识别
- 原:视频直播技术中的参考技术网页
- favicon.ico应用与正则表达式验证邮箱(可自动删除前后的空格)
- 正确配置spring aop,在controller中使用AOP
- 图文详解如何快捷搭建LNMP服务环境
- React-Native入门指导之iOS篇 —— 一、准备工作
- RecyclerView 下拉刷新和上拉加载
- 第 13 章 学习shell script
- 原码, 反码, 补码补充