`
Martin_Bonnie
  • 浏览: 8655 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Maven(一):为啥要学习Maven

阅读更多
1、Maven是个啥?
Maven是个跨平台的项目管理工具,主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。

2、Maven能给我带来什么好处?
2.1、省掉我们每天的清理、编译、运行单元测试、生成文档、打包和部署等繁琐的构建操作所花费的时间,maven只需一条命令mvn clean install会自动帮我们完成。
2.2、跨平台性,无论在windows还是linux还是mac上都可以使用同样的操作命令
2.3、消除了构建的重复

3、类似于他的工具还有哪些,maven哪些方面要强一点?(为什么选择maven)
其他的构建解决方案还有IDE、Make以及Ant等。
     IDE能够大大的提高我们的开发效率,当前主流的Eclipse和NetBeans等都提供了强大的文本编辑、调试甚至是重构功能,但是IDE存在其天生的缺陷,它需要依赖大量的手工操作,编译、测试、代码生成等,很难做到一键完成绝大多数工作,还有一个问题是一个在机器A上可以成功运行的代码移植到B的IDE中就可能会失败,我们应该合理的使用IDE,使用他的优点摒弃它的不足,当前主流IDE都已经集成了Maven   
    Make也许是最早的构建工具,具体不详,没用过,可以不了解.Make的强大之处在于它可以利用所有系统的本地命令,尤其是UNIX/Linux系统,丰富的功能、强大的命令能够帮助Make快速高效地完成任务。但是,Make将自己和操作系统绑定在一起了。也就是说,使用Make,就不能实现(至少很难)跨平台的构建,这对于Java来说是非常不友好的。此外,Makefile的语法也成问题,很多人抱怨Make构建失败的原因往往是一个难以发现的空格或Tab使用错误。  
    Ant基于java的跨平台的。 和Make一样,Ant也都是过程式的,开发者显式地指定每一个目标,以及完成该目标所需要执行的任务。针对每一个项目,开发者都需要重新编写这一过程,这里其实隐含着很大的重复。Maven是声明式的,项目构建过程和过程各个阶段所需的工作都由插件实现,并且大部分插件都是现成的,开发者只需要声明项目的基本元素,Maven就执行内置的、完整的构建过程。这在很大程度上消除了重复。Ant是没有依赖管理的,所以很长一段时间Ant用户都不得不手工管理依赖,这是一个令人头疼的问题。幸运的是,Ant用户现在可以借助Ivy管理依赖。而对于Maven用户来说,依赖管理是理所当然的,Maven不仅内置了依赖管理,更有一个可能拥有全世界最多Java开源软件包的中央仓库,Maven用户无须进行任何配置就可以直接享用。

4、maven有哪些不足?
4.1、对于IDE的支持较差,bug比较多,不是很稳定(maven还比较年轻,这个是必经的一个过程)
4.2、Maven过于复杂,它就是构建系统的EJB2.(maven是用来管理项目的,从清理、编译、测试、打包、发布以及一些自定义的过程本身就是一件复杂的事情,Java社区目前还没有比maven更强大更简单的工具,因此我们应该尝试去帮助maven让它变简单而不是抛弃它)
4.3、文档资料比较少(俺还很年轻,需要大家的帮忙)


分享到:
评论

相关推荐

    Maven 教程:基础篇-尚硅谷学习笔记 2022年

    **Maven教程:基础篇——尚硅谷学习笔记 2022年** Maven是一个强大的Java项目管理和构建工具,由Apache软件基金会开发。它通过提供一个标准的项目对象模型(Project Object Model,POM)来简化项目的构建过程,并...

    Maven更新失败,Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1

    Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...

    最新Maven版本:apache-maven-3.6.0

    Apache Maven 是一个强大的Java项目管理工具,它极大地简化了构建、依赖管理和项目文档的生成过程。Maven 3.6.0是该工具的一个稳定版本,提供了多项改进和新特性,旨在提高开发效率和增强项目的可维护性。 Maven的...

    Maven初探:一切从HelloMM开始!

    本文将深入探讨一个流行的Java构建工具——Maven,并以"HelloMM"项目为例,引导初学者逐步了解其基本用法。 "Maven初探:一切从HelloMM开始!"这个标题暗示我们将从一个简单的Java项目开始,学习如何使用Maven进行...

    MAVEN安装包:apache-maven-3.0.5.zip

    Maven 3.0.5是其历史版本之一,提供了一系列改进和修复,以增强开发者的工作效率。 ### 一、Maven 的核心概念 1. **项目对象模型 (POM)**: Maven 的核心是 POM,它是 Maven 项目配置的中心文件,包含项目的元数据...

    Maven使用tomcat8-maven-plugin插件.docx

    要使用 tomcat8-maven-plugin 插件,首先需要在 Maven 的 POM 文件中添加插件依赖。下面是一个示例: ``` <groupId>org.apache.tomcat.maven <artifactId>tomcat8-maven-plugin <version>3.0-r1655215 ``` ...

    Maven报错: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources

    idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...

    Jenkins编译报错Failed to execute goal org.apache.maven.plugins_maven-clean-plugin

    Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project

    Maven exec-maven-plugin:执行外部命令的实践指南

    Apache Maven是一个强大的项目管理工具,它提供了丰富的插件系统来扩展构建过程。exec-maven-plugin是Maven生态系统中的一个插件,它允许用户在Maven构建过程中执行外部命令或脚本。这使得Maven项目可以集成更多的...

    Failed to execute goal org.apache.maven.plugins:maven-compiler

    在<plugins></plugins>中添加 <groupId>org.apache.maven.plugins <artifactId>maven-compiler-plugin <version>3.8.1 <source>1.8 <target>1.8 </plugin>

    Maven的安装包:apache-maven-3.6.1-zip

    3. **配置环境变量**: 在系统环境变量中添加 MAVEN_HOME 变量,值设为 Maven 的安装路径,如 `C:\Program Files\apache-maven-3.6.1`。同时,将 `%MAVEN_HOME%\bin` 添加到系统环境变量的 Path 中。 **二、验证安装...

    maven教案-maven入门学习资料

    【 Maven 概述】 在软件开发中,尤其是在Java领域,我们常常面临一系列问题,如环境配置差异、依赖管理混乱以及项目构建的繁琐等。这些问题在 Maven 出现后...学习和掌握 Maven,对于 Java 开发者来说是十分必要的。

    Docker化你的Maven项目:使用docker-maven-plugin的终极指南

    它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置信息。 ### Maven的主要特点包括: 1. **依赖管理**:Maven能够自动处理...

    maven学习指南java(经典,实例)

    学习Maven前,需要具备一定的软件开发基础知识、了解Java SE,以及对Java EE的开发和部署过程有一个基本的概述。本教程的教学目的是让初学者快速了解并掌握Maven工具的使用,进而在项目开发中熟练运用,最终达到中等...

    Maven: The Complete Reference权威指南

    Maven: The Complete Reference The essential reference for anyone working with Apache Maven. Explore the details of the POM, Maven Settings, Maven Archetypes.

    Maven3实战笔记04Maven的生命周期和插件

    Maven是一个项目管理和综合工具,它通过一系列预定义的任务和明确的构建生命周期来管理项目的构建、报告和文档。Maven的核心特性之一是其生命周期(Lifecycle),它定义了一系列必须按顺序执行的构建阶段(Phase)。...

    maven学习的基础资料

    Maven的学习是一个逐步的过程,从理解基本概念和术语,到掌握POM的编写,再到熟练使用各种插件和构建生命周期阶段。通过不断实践,开发人员可以充分利用Maven带来的自动化优势,提高开发效率,同时保持项目的一致性...

    tomcat8-maven-plugin-3.0-r1655215.jar

    解决tomcat8-maven-plugin-3.0-r1655215.jar阿里云同有的问题。放到路径org\apache\tomcat\maven\tomcat8-maven-plugin\3.0-r1655215\就可以了

    Maven常用命令 Maven Maven学习

    Maven常用命令 Maven Maven学习

Global site tag (gtag.js) - Google Analytics