maven 基础整理
教程
IDE设置121
IntelliJ,Edit Configurations中添加maven,选中 Resolve Workspace artifacts能自动编译依赖模块
内置命令
- mvn install 将打好包的文件更新到本地库中 -X 强制重新更新
- mvn clean 清理生成的文件
- mvn compile 编译项目
- mvn test 运行测试
- mvn site 生成文档
- mvn validate 验证项目正确性
- mvn dependency:tree 显示依赖树
- mvn dependency:list 查看当前项目已解析依赖
- mvn help:effective-pom 显示当前模块有效pom
- mvn install -pl test 在test模块执行instal命令
参数
-P profile-name 使用某个profile构建
替换默认中行仓库
maven安装目录 conf/setting.xml,或者修改用户配置~/.m2/setting.xml
mirrors加入
<mirror>
<id> maven-net-cn</id>
<name> Maven China Mirror</name>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
mirrorOf,表示只为central仓库做镜像,如果想为所有的仓库做镜像那么可以改为:
<mirrorOf>*</mirrorOf>
elcipse中需要在maven设置中指定配置
依赖
依赖范围
- compile 编译范围,对编译,测试,运行三种classpath都有效
- test 只在测试范围classpath有效
- provided 在编译,测试范围有效,运行时无效
- runtime 运行时依赖范围,对于测试和运行有效,编译无效,典型例子JDBC驱动实现
- system 和provided依赖范围一致,但需要通过systemPath制定依赖文件路径
传递性依赖
假设A依赖B,B依赖C,B对A为第一直接依赖,C对B为第二直接依赖,C对A为传递性依赖
传递性依赖在第一直接依赖为compile时,和第二直接依赖一样,其他情况都和第一直接依赖一样
见下表,竖列是第一直接依赖范围,横列为第二直接依赖
依赖调解
- maven依赖调解第一原则:最短路径优先
- maven依赖调解第二原则:路径一样长的情况,第一声明者优先
如果有这样的依赖关系A -> B -> C -> X(1.0) A -> D -> X(2.0),2.0的会被使用
如果路径一样长,第一声明的优先使用
可选依赖
optional属性,含有optional的组件,被依赖时,optional的组件不会被传递,比如组件支持多个jdbc数据源,但使用时只用一个
一般情况不应该使用可选依赖,应该新建多个artifact,实现不同数据源的支持
依赖编译
-am --also-make 同时构建所列模块的依赖模块
-amd -also-make-dependents 同时构建依赖于所列模块的模块
-pl --projects <args> 构建指定的模块,模块间用逗号分隔
-rf -resume-from <args> 从是指定的模块恢复反应堆
mvn install -pl mealkey-web -am 编译mealkey-web 模块和依赖模块
maven 基础整理的更多相关文章
- maven基础整理
转载:https://www.cnblogs.com/hzg110/p/6936101.html maven官网:http://maven.apache.org/index.html 一.为什么使用M ...
- maven基础知识
1.maven基础知识 1.1maven坐标 maven坐标通常用冒号作为分割符来书写,像这样的格式:groupId:artifactId:packaging:version.项目包含了junit3. ...
- Maven基础
Maven基础 maven核心内容:依赖管理. Maven是Apache组织的开源项目,是项目构建工具.用来管理jar包之间的相互依赖关系 Maven是一个项目构建和管理的工具,提供了帮助管理,构建, ...
- 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法
这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...
- MySQL基础整理(一)之SQL基础(未完成)
大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...
- maven 基础
maven安装链接 maven基础命令: 编译命令:mvn compile 测试命令:mvn test 清空命令:mvn clean 打包命令:mvn package 打包命令:mvn install ...
- maven管理整理
maven管理整理 学习了:https://www.imooc.com/learn/443 mvn -v 版本 compile 编译 test 测试 package 打包 clean 删除 insta ...
- nutch的一些基础整理
nutch的一些基础整理 原创 2015年03月22日 18:18:01 标签: nutch / 240 编辑 删除 一.关于配置文件: nutch-default.xml:爬虫的默认配置.在${nu ...
- [转帖]nginx基础整理
nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...
随机推荐
- 极大似然估计&最大后验概率估计
https://guangchun.wordpress.com/2011/10/13/ml-bayes-map/ http://www.mi.fu-berlin.de/wiki/pub/ABI/Gen ...
- 剑指offer—算法之位运算(二进制中1的个数)
位运算: 左移:m<<n将m左移n位,左移后低位补充0: 右移:m>>n将m右移n位,右移后高位补充的是符号位,负数补充1,整数补充0.(正数的边界值为(1,ox7FFFFFF ...
- PHP include()和require()方法的区别
本文总结了PHP的include()和require()两种包含外部文件的方法的不同之处.基本上就是,加载失败的处理方法,性能,以及使用弹性方面的不同. PHP的include()和require() ...
- Android实现button一边圆角一边直角
http://www.it165.net/pro/html/201503/36211.html
- 建立连接ALM的xml config文件
我就不贴所有的了,如果有谁想要所有源码和应用程序,可以密我 这里我贴下如何在第一次运行的时候自动建立一个ALMConfig的xml文件 private static void CreateALMCon ...
- Selenium2Library系列 keywords 之 _SelectElementKeywords 之 select_all_from_list(self, locator)
def select_all_from_list(self, locator): """Selects all values from multi-select list ...
- 【树莓派2B倒腾日志】之安装系统及配置
15号树莓派到手到现在,折腾了也有一小周,自己摸索着,装了系统,登上SSH,更新了源,连了VNC,换上wifi,亮了小灯.再到今天捣鼓了下数码管,回头想想,该写个日志记录一下这一周的所得,自己总结也方 ...
- 跨平台音乐播放器qmmp(Cross-Platform Audio Player Qmmp)
开源多媒体播放器(Audio-Player),简洁的界面,最看重它的是跨平台的特性. 开源 跨平台(Linux.Windows) 简洁 支持音乐格式(mp3/ogg......) 全局快捷键 播放中打 ...
- Pregel: A System for Large-Scale Graph Processing(译)
[说明:Pregel这篇是发表在2010年的SIGMOD上,Pregel这个名称是为了纪念欧拉,在他提出的格尼斯堡七桥问题中,那些桥所在的河就叫Pregel.最初是为了解决PageRank计算问题,由 ...
- 基于gSOAP使用头文件的C语言版web service开发过程例子
基于gSOAP使用头文件的C语言版web service开发过程例子 一服务端 1 打开VS2005,创建一个工程,命名为calcServer. 2 添加一个头文件calc.h,编辑内容如下: 1// ...