MVN 核心总结1
来源:互联网 发布:2016年淘宝9月大促时间 编辑:程序博客网 时间:2024/05/29 04:46
核心总结如下:
运行MVN的时候一定要保证机器能够访问mvn的官网地址,因为他很可能会自动下载更新。
(1)MAVEN的核心思想是约定胜于配置。安装约定的规则,你就会功半事倍。
(2)事实上,MAVEN的功能只会读取 xml文件。他的功能主要是由插件完成的。你从官网上下载的maven安装包只是一个最小集合。而插件是从仓库获得。当你第一次运行mvn install的时候,他会从中央仓库下载大量的核心插件,有的插件负责编译,有的负责测试,有的负责发布版本等。
(3)项目对象模型的特性:
项目依赖,声明自己依赖项目位置
MVN的构件仓库的位置,
插件也被定义在项目对象模型中
Nexus可以搜索项目中的信息
所有的构件信息除了约定之外,都必须声明出来。声明构建。
重用,新构建的项目的jar文件放到仓库中就可以被其他项目重用。
(4)MVN 有自己的约定行为,如果想自定义MVN的行为,可以尝试修改~/.m2目录下的archetype-catalog.xml文件。或者修改${MAVEN_HOME}/config/setting。
( 5 ) 如果安装你依赖的类库 运行这个命令 mvn dependency:sources就可以了。
( 6) MVN 帮助 mvn help:describe Dplugin=pluginName 例如,mvn help:describe -Dplugin=help -Dmojo=describe
(7) 如果要查看隐式的(默认)pom.xml 设置,可以用mvn help:effective-pom命令。
(8) mvn中的目标要映射到一个插件上去。通常是这样表达 plugin_id:targetname。
(9) mvn 中定义的生命周期有 验证(validation), 编译 (testing ), 测试 (testing ) , 发布 (deployment/package)
(10) 当mvn执行生命周期中的target的时候,默认会把生命周期对应之前的目标全部执行一遍。
例如 mvn package 就等于下面的目标组合。
mvn resources:resources \
compiler:compile \
resources:testResources \
compiler:testCompile \
surefire:test \
jar:jar
(11) mvn中项目的坐标通常用下面的方式来表示:groupId:artifactId:packaging:version。坐标可以唯一标识一个项目。引用其他项目需要用坐标来表示。
compiler:compile \
resources:testResources \
compiler:testCompile \
surefire:test \
jar:jar
(11) mvn中项目的坐标通常用下面的方式来表示:groupId:artifactId:packaging:version。坐标可以唯一标识一个项目。引用其他项目需要用坐标来表示。
如果version中有snapshot,snapshot表示一个开发中的版本。
(12)当为项目创建JAR文件的时候,它的依赖不会被捆绑在生成的构件中,他们只是用来编译。当用Maven来创建WAR或者EAR,你可以配置Maven让它在生成的构件中捆绑依赖,你也可以配置Maven,使用provided范围,让它排除WAR文件中特定的依赖。provided范围告诉Maven一个依赖在编译的时候需要,但是它不应该被捆绑在构建的输出中。当你开发web应用的时候provided范围变得十分有用,你需要通过Servlet API来编译你的代
码,但是你不希望Servlet API的JAR文件包含在你web应用的WEB-INF/lib目录中
码,但是你不希望Servlet API的JAR文件包含在你web应用的WEB-INF/lib目录中
0 0
- MVN 核心总结1
- MVN总结
- MVN 总结【转】
- mvn错误总结
- mvn git总结
- mvn 学习总结.不断更新中....
- mvn 常用的命令总结
- MVN学习笔记1
- 1-mvn 介绍
- OC04核心语法总结 1
- mvn
- MVN
- mvn
- mvn
- mvn
- mvn
- mvn
- mvn
- 睡得多,会变丑变痴
- IntelliJ IDEA 14 如何运行maven程序
- html编辑页面中 跳转获取下拉列表中的选定值 jstl
- windows下安装python及django的开发环境
- 记一次处理日志文件过大问题的解决过程(SQL Server)
- MVN 核心总结1
- SQLite数据库增删改查操作案例
- php的密码加密password_hash
- 分享:android之hardwareAccelerated你不知道的一些问题
- 前端表单验证插件
- 初来乍到之辛酸菜鸟
- ubuntu chrome和中文输入法安装
- ios 属性和实例变量的区别
- Android GridView属性集合