maven 笔记

MAVEN学习笔记
构建生命周期、Maven仓库、依赖管理和项目对象模型
Maven相关命令:
help:active-profiles
列出当前构建中活动的Profile(项目的、用户的、全局的)
help:effective-pom
显示当前构建的POM
help:effective-settings
打印出项目的实际settings,包括从全局的settings和用户settings继承的配置
help:describe
描述插件的属性,它不需要在项目目录下运行。但是你必须提供你想要描述的插件的groupId和artifactId
mvn help:describe -Dplugin=help -Dfull
输出help插件(完整的带有参数)的信息
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull
mojo获取单个目标的信息
mvn archetype:create -DgroupId=[groupId] -DartifactId=[artifactId] -DpackageName=[packageName]
构建一个项目,知道groupId、artifactId和包名
mvn install
构建打包应用
groupId:artifactId:packaging:version
描述项目的坐标,packaging描述项目打包后的输出类型,默认是jar
mvn site
生成文档和报告
mvn dependency:resolve
打印项目已经解决的依赖列表
mvn dependency:tree
打印整个项目的依赖树
mvn install -X
查看完整的项目依赖踪迹
mvn test -Dmaven.test.failure.ignore=true -Dmaven.test.skip=true
执行单元测试,后面的参数是忽略单元测试失败和跳过单元测试
mvn install assembly:assembly
用来创建应用程序特有分发包的插件
mvn archetype:create
指定archetypeAtifactId为maven-archetype-webapp创建web项目
mvn dependency:analyze
分析项目对于插件的直接引用
Maven相关知识:
1、maven属性的引用${},maven提供了三个隐式变量:
env  env变量,暴露了你操作系统或者shell的环境变量,如${env.PATH}
project  project变量暴露了POM,可以使用点标记(.)的路径来引用POM元素的值,如${project.groupId}
settings settings变量暴露了Maven Settings信息。如${settings.offline}会引用~/.m2/settings.xml文件中offline元素的值
除了这三个隐式变量,还可以引用系统属性,所有可以通过java.lang.System中getProperties()方法访问的属性都被暴露成POM属性。
一些系统属性的例子是:${user.name}。我们还可以通过pom.xml或者settings.xml中的properties元素设置自己的属性。
2、maven项目依赖范围:
compile  编译范围,默认的范围
provided 已提供范围
runtime  运行时范围
test  测试范围
system  系统范围
3、通过设置<optional>true</optional>可以设置该依赖为可选依赖
4、设置依赖版本界限:(,)  [,]  如[3.8,4.0)表示任意的大于等于3.8但是小于4.0的版本,逗号前面或者后面的版本不是必须的,
空缺意味着正无穷或负无穷
5、通过设置<exclusion></exclusion>可以排除一个传递性依赖
6、通过在<dependency>下添加<type>pom</type>可以申明一个对于pom的依赖

你可能感兴趣的:(maven)