标签:传统 运行 code 技术 完成 面向 项目 数据 mvn
Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs
1.依赖管理:改变传统的jar包管理方式,一个或多个项目只需要配置一个文件即可实现jar包的依赖。
2.项目构建:采用统一轻便的方式构建管理项目,通过简单的命令帮助完成复杂的清理,编译,测试运行等项目的生命周期管理
项目设置遵循统一的规则。
任意工程中共享。
依赖管理包括自动更新。
一个庞大且不断增长的库。
可扩展,能够轻松编写 Java 或脚本语言的插件。
只需很少或不需要额外配置即可即时访问新功能。
基于模型的构建 ? Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
项目信息的一致性站点 ? 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
发布管理和发布单独的输出 ? Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。
向后兼容性 ? 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,
并行构建 ? 编译的速度能普遍提高20 - 50 %。
更好的错误报告 ? Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。
Maven仓库分为三种:本地仓库、远程仓库和中央仓库。
本地仓库:用来存储从远程仓库或中央仓库下载的插件和jar包。项目使用的一些插件和jar包应该优先从本地仓库中下载。
远程仓库:如果本地仓库没有想要的插件或jar包,那么,maven就会去远程仓库中下载。
中央仓库:在Maven工具中内置了一个远程仓库(http://repo1.maven.org/maven2),它就是一个中央仓库,用于服务全球的Maven用户。它里面包含了非常全的jar包,包含了世界上大部分流行的开源项目构件。该仓库是由Maven团队负责维护。
每个阶段都对应一个Maven命令,例如:编译(compile)、测试(test)、package(打包)、安装(install)、部署(deploy)。
执行命令会将该命令在生命周期当中之前的阶段自动执行。例如:执行mvn test命令的时候,会自动执行mvn compile命令。
标签:传统 运行 code 技术 完成 面向 项目 数据 mvn
原文地址:https://www.cnblogs.com/miria-486/p/12257568.html