栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven的简介

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven的简介

1.主要内容

2.Maven的简介 2.1简介

        Maven这个词可以翻译为“专家”,“内行”。作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于java平台的项目构建,依赖管理和项目信息管理。

       无论是小型的开源类库项目还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷开发,Maven都能大显身手。

注:

  • 瀑布式开发:项目必须有明确的需求,按需求一步一步做好规划,项目运行过程中要严格的阐述一些文档,按流程一步一步走下去。
  • 敏捷开发:先将用户最关注的软件模型做出来,然后做上线。根据需求修改,再去发布。可以快速迭代,直到用户满意为止。
2.2项目构建

       不管你是否意识到,构件是每一位程序员每天都在做的工作。早上来到公司,我们做的第一件事就是从源码库中最新的代码,然后进行测试,如果测试失败,会找相关的同事一起调试,修复代码错误。接着回到自己的工作上来,编写自己的单元测试及产品代码。

        仔细总结一下,我们会发现,除了编写源代码,我们每天有相当一部分时间花在编译、单元测试、生成文档、打包和部署等繁琐且不起眼的工作上,这就是构建。如果我们现在还手工这样做,那成本太高了,于是有人用软件的方法让着一系列工作自动化,使得软件的构件可以像全自动流水线一样,只需要一条简单的命令,所有繁琐的步骤都能自动完成,很快就能得到最终结果。

2.3项目构建工具

Ant构建

最早的构建工具,基于IDE,大概是2000年有的,当时最流行java构建工具,不过它的XML脚本编写格式让XML文件特别大,对工程构建过程控制特别好

Maven【java】

项目对象模型,通过其描述信息管理项目的构建,报告和文档的软件项目管理。它填补了Ant缺点,Maven第一次支持了从网络上下载的功能,仍然采用xml作为配置文件,Maven专注的是依赖管理,使用java编写。

Gradle

属于结合以上两个的优点,它继承了Ant的灵活和Maven的生命周期管理,它最后被Google作为了Android御用管理工具。它最大的区别是不用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁。

目前市面上Ant比较老,所以一般是一些比较传统的软件企业公司使用,Maven使用java编写,是当下大多数互联网公司会使用的一个构建工具,中文文档也比较齐全,gradle是用groovy编写,目前比较新型的构件工具一些初创互联网公司会使用,以后会有很大的使用空间。

2.4Maven的四大特性

2.4.1依赖管理系统

Maven为java世界引入了一个新的依赖管理系统jar包管理,jar升级时修改配置文件即可。在java世界中,可以用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖。

任何基于Maven构件的项目自身也必须定义三项属性,生成的包可以是jar包,也可以是war包或者jar包。

依赖引入如下:


    javax.servlet
    javax.servlet-api
    3.1.0

坐标属性的理解

Maven坐标为各种组件引入了秩序,任何一个组件必须标明定义自己的坐标、

groupId:定义当前Maven项目隶属的实际项目-公司名称。(jar包所在仓库路径)由于Maven中模块的概念,因此一个实际项目往往会被划分许多模块,比如Spring是一个实际项目,其对应的Maven模块会有很多,如Spring-core或Spring-webmvc等。

artifactId:该元素定义实际项目中的一个Maven模块-项目名,推荐的做法是使用项目名称作为artifactId的前缀。

version:该元素定义Maven项目当前所处的版本。

2.4.2多模块构建

项目复查时 dao service controller 层分离将一个项目分解为多个模块已经是很通用的一种方式。

在Maven中需要定义一个parent POM作为一组model的聚合POM。在该POM中可以使用标签来定义一组子模块。parent POM不会有什么实际构建产出。而parent POM中的build配置以及依赖配置会自动继承给子model。

2.4.3一致的项目结构

在eclipse和idea中目录结构都是一样的。

2.4.4一致的构建模型和插件机制


    org.mortbay.jetty
    maven-jetty-plugin
    6.1.25
    
         10
         /test
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号