Maven基础
来源:互联网 发布:小猪php在线解密 编辑:程序博客网 时间:2024/06/05 06:47
Maven基本知识
Maven是约定优于配置的体现
安装目录maven的setting文件是全局setting
maven-model-builder里面有个超级POM
maven命令的加载顺序
- 先去用户目录下找
- 再去找全局的
settings:
- localRepository:repository的目录
- pluginGroups: 注册插件到maven,在使用时,没有带groupid,就会在这里面寻找
- profile: 根据环境来调整构建配置列表
POM中:
- modelVersion版本号的来源:来自于超级POM
- packaging默认是jar, 也可以是maven-plugin
- description: 描述
- module:模块
- properties: 属性配置,${可以获取内置参数}
- dependencyManager: 父POM中的依赖管理,用来统一版本号,子module不会直接使用父POM中的依赖,但是可以不用写版本号
- dependency: 依赖
- Type: 默认值为jar
Scope:默认是 compile,
- test 测试
- provided 编译但不会打包,但会影响测试。一般表示容器已经提供了(如serlvet)
- runtime 运行时有效,比如mysql的包。常用于面向接口(如jdbc)的jar包
- system 一般用在本地的jar 有一个属性< systempath >
命令:
- 打印依赖树:mvn dependency:tree > d.txt
- 跳过test:mvn clean install -Dmaven.test.skip
依赖传递:
- 依赖可能存在公共的父依赖,也就是依赖会冗余
- 如果依赖的东西已经引入了,就不要引入了(查看依赖树)
- 依赖的scope会影响依赖是否传递
依赖仲裁:
- 加载顺序原则:先写的版本先加载
- 版本号按就近原则(依赖树的深度)
父POM可以是公司级别,部门级别的
对所有的module做升级,在父POM中:
所有的module应该和父POM的版本一致
<build><plugin> <goupId> org.codehaus.mojo <artifactId>versions-maven-plugin <version>2.3 <executions> <phase>package <goals> <goal>
生命周期:
- clean: pre_clean, clean, post-clean
- default: compile,package,install, deploy等
- site: pre-site, site, post-site, site-deploy
生命周期的理解
1.A BuildLifecycle is Made Up of Phases
2.A BuildPhase is Made Up of Plugin Goals
阅读全文
0 0
- Maven 基础
- maven 基础
- Maven基础
- maven 基础
- Maven基础
- maven基础
- Maven 基础
- Maven基础
- maven 基础
- maven基础
- Maven基础
- MAVEN基础
- Maven基础
- Maven基础
- Maven基础
- maven基础
- maven基础
- Maven基础
- 基于JavaMail的Java邮件发送:简单邮件发送
- hdu 4310
- verilog编译指令
- 互斥锁和条件变量在实际开发中的应用
- Python3 简单抓取网站url
- Maven基础
- Sass的使用(让css更优雅和强大)---第一节
- SQL之数据库的定义与基本操作
- 为什么i++后,i++的值不变
- Mybatis学习笔记(十三)【多对多查询】
- 软件架构师知识点2
- 有关map集合的理解
- nginx源码阅读(十四).惊群问题的解决
- 关于 JOptionpane的一些操作例子