• <tr id='rg1LIm'><strong id='rg1LIm'></strong><small id='rg1LIm'></small><button id='rg1LIm'></button><li id='rg1LIm'><noscript id='rg1LIm'><big id='rg1LIm'></big><dt id='rg1LIm'></dt></noscript></li></tr><ol id='rg1LIm'><option id='rg1LIm'><table id='rg1LIm'><blockquote id='rg1LIm'><tbody id='rg1LIm'></tbody></blockquote></table></option></ol><u id='rg1LIm'></u><kbd id='rg1LIm'><kbd id='rg1LIm'></kbd></kbd>

    <code id='rg1LIm'><strong id='rg1LIm'></strong></code>

    <fieldset id='rg1LIm'></fieldset>
          <span id='rg1LIm'></span>

              <ins id='rg1LIm'></ins>
              <acronym id='rg1LIm'><em id='rg1LIm'></em><td id='rg1LIm'><div id='rg1LIm'></div></td></acronym><address id='rg1LIm'><big id='rg1LIm'><big id='rg1LIm'></big><legend id='rg1LIm'></legend></big></address>

              <i id='rg1LIm'><div id='rg1LIm'><ins id='rg1LIm'></ins></div></i>
              <i id='rg1LIm'></i>
            1. <dl id='rg1LIm'></dl>
              1. <blockquote id='rg1LIm'><q id='rg1LIm'><noscript id='rg1LIm'></noscript><dt id='rg1LIm'></dt></q></blockquote><noframes id='rg1LIm'><i id='rg1LIm'></i>
                Maven教程
                Maven常用命令应用
                Maven修改仓库▓地址
                使用Eclipse创建Maven项目
                Maven插件
                Maven打包
                Maven项目〗导入及转换

                Maven教程

                Maven 是 Apache 的一个㊣顶级的项目:http://maven.apache.org/

                Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

                Maven 除了以◥程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三ぷ行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持∩续增长。

                Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一◤些项目(有各自Ant build文件),仅有细微★的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一◣种简单的方式在多个项目中共享JARs。

                Maven历史

                Maven最初设计,是以简化Jakarta Turbine项目的建设。在几个项目,每个项目包含了不同的Ant构建文件。 JAR检查到CVS。

                Apache组织开发Maven可以建立多个项目,发布项目信息,项目部署,在几个项目中JAR文件提供团队合作和帮助。

                Maven目标

                Maven主要目标是提供给开△发人员:

                ? 项目是可重复使用,易维护,更容易理解的一个综合模型。

                ? 插件或交互的工具,这种声明●性的模式。

                Maven项目的结构和内容●在一个XML文件中声明,pom.xml 项目对象模型(POM),这是整个Maven系统的基本单元。     

                Maven特点

                那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,首先要强调一点:Maven 和 Ant 针◥对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant代表两个差异很大的工具。所以接下来只说明这两个工具的等同组件之间的区别,如表 1 所示。

                  Maven Ant
                标准构建文件 project.xml 和 maven.xml build.xml
                特性处理顺序 ${maven.home}/bin/driver.properties
                ${project.home}/project.properties
                ${project.home}/build.properties
                ${user.home}/build.properties
                通过 -D 命令行选项定义的系统特性
                最后一个定义起决定作用。
                通过 -D 命令行选项定义的系统特性
                由任务装入的特性
                第一个定义最先被处理。
                构建规则 构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。 构建规则№或多或少是静态的,除非使用<script>任务
                扩展语言 插件是用 Jelly(XML)编写的。 插件是用Java 语言编写的。
                构建规则可扩展性 通过定义 <preGoal> 和 <postGoal> 使构建 goal 可扩展。 构建规则不易扩展;可通过使用 <script> 任务模拟 <preGoal> 和 <postGoal> 所起ξ的作用。

                Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统ζ (Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

                Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令︽告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

                此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

                Maven在Java项目开发中的应用

                ⒈ 项目构建

                什么是构建工具?

                构建工具是将软件项目构建相关的过程自动化的工具。构建一个软件项目通常包含╲以下一个或多个过程:

                生成源码(如果项目使用自动生成源码);

                ① 从源码生成〒项目文档;

                ② 编译源码;

                ③ 将编译后的代码打包成 JAR 文件或者 ZIP 文件;

                ④ 将打包好的代码安装到№服务器、仓库或者其它的地方;

                有些项目可能需要更多的过程才能完成构建,这些过程一般也卐可以整合到构建工具中,因此它们也可以实现自动化。

                自动化构建过程的好处是将手动构建过程中犯错的风险降到最低。而且,自动构建工具通常要比手动执行同样的构建↑过程要快。

                ⒉ 文档管理

                ⒊ 生成测试报告

                ⒋ 解决项目间依赖项

                ⒌ 源代码版本管理及自动关联

                ⒍ 项目 Releases

                ⒎ 辅助测试

                ⒏  jar 包卐自动下载

                ⒐ 强制性精确的 jar 包管理

                ⒑ 项目的分发

                全部教程