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

为什么使用Maven?

    博客分类:
  • CI
阅读更多

  前言:我学的第一个项目构建工具是ANT,但是在项目开发中并没有被使用,那时呆的公司完全作坊型的,直接用MyEclipse打包的。后来在华为做项目的时候里面有一整套CI平台,那是第一次感受到构建之美。看过网上很多文章都是copy的,我很想站在新手基础上说说为什么要使用Maven。

 

1.我现在使用MyEclipse工具,她帮我编译,打包,自动部署一直很方便,而且就这样用了几年了,难得这还不够吗?

   首先我想说的是MyEclipse是收费的。不是装B,绝对不是装B,当你呆的公司性质不同的话对知识产权是很注重的。像我现在呆的公司如果发现使用未授权的软件是直接罚钱的。我推荐使用Eclipse NetBeans这些免费好用的。

   另外我个人观点是,如果你觉得目前这种方式在团队开发、实施都一直很顺利的话是完全不用使用Maven的,满足了你实际用到的就行,就好比你做个登录程序,用jsp足够了,何必用ssh、ejb之类的呢。

 

2. 我想听听使用Maven有什么实际性的好处,不要说什么新技术、高端之类的废话!

    这个问题也很实际,我也这样想过的,我说说我在实际开发中很常见的现象

    a) 项目代码过多后在eclipse里面屏幕都装不下了。

          mvn里面的多模块开发很nice的,如果是前端的话直接拉action那层的代码就行了,dao service都不用拉的.

    b) PM经常过来要你部署下看看效果

          用了mvn后PM只需要在页面上点一下就可以部署了

    c) 很多开源工具包的源码看不了,老要在eclipse下关联下

          用了mvn后自动对应~

    d) 代码过多后用eclipse部署都有点慢了

         用了mvn后都把模块打成jar了,部署速度快多了。如果不理解的话打个比方:如果你把spring的源码放到工程里面部署 和 直接使用spring的jar部署,看看哪个速度快。

    e) 我想看看测试用例一共有多少个,成功多少,失败多少?

         用了mvn后直接生成报告,而且还有语法高亮显示。

    f) 我和同事加入jar包,有的是log4j.jar,有的是struts-croe-2.1,每个人加的jar规范都不用(注意版本-2.1)

         用了mvn后直接在仓库上找了,配合nexus直接搜索。

    g) 开发过程中一些配置文件和测试、生产环境的都不同,每次发版本都要人工修改

         用了mvn后不用管,配一次就行了,以后她自动修改

    h) 每次发版本后测试人员都要刷sql脚本,部署,好麻烦,难得没简单的办法吗?

         和b)问题类似,再次强调下,mvn她可以一个命令自动创建数据库,自动从SVN上下载代码,自动编译、测试、打包、部署到tomcat里

 

3. 我也知道Maven是靠命令的,但是这样开发不会很慢吗,比如我在开发阶段eclipse里面自动部署到tomcat,Maven能做到吗,难得我还需要用命令部署啊,那不是慢死了

  这个问题也是我开始使用Maven最郁闷的地方了,其实不然,Maven在开发阶段比传统的快多了, Maven可以内嵌一个Jetty容器的,有个很炫的功能,可以在Main方法里面直接启动她,就像和写普通j2se程序一样的调试 并且当你的JSP改动后她也是自动更新 的(class文件不行),怎么样,这样的话岂不是最快了,并且分模块开发后直接导入jar后启动更快。

 

4. 一般学习Maven需要多长时间?

   我带的实习生半天可以生成一个项目,加入JAR包并且测试、打包,大致了解她的生命周期就行了,只需要这样Maven你就会了80%,我个人感觉真的不难,因为资料多,而且不用写一行代码。

 

 

5.Maven有什么缺点?

   个人感觉唯一缺点是pom.xml文件过长了,gradle采用groovy脚本代码精简了很多

 

分享到:
评论

相关推荐

    maven第三方仓库配置

    #### 一、为什么使用Maven? 在现代的Java开发中,Maven已经成为构建管理和依赖管理的标准工具。它提供了一种强大的方法来管理项目的构建过程、依赖关系及其文档。 ##### 关于第三方JAR包管理 传统的项目开发过程...

    使用Maven导入Maven工程的视频教程

    使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...

    02Maven.pdf

    为什么使用Maven? 传统项目中,每次需要jar包时到官网下载;借助Maven,我们可以使用统一的规范方式下载jar包;不同项目中使用jar包,需要频繁“复制”、“粘贴”到不同项目的lib中;同样的jar包重复的出现在不同...

    个人Maven学习笔记

    #### 为什么使用Maven? 在软件开发过程中,尤其是在使用Java进行后端开发时,项目通常会依赖大量的第三方库或框架。如果没有统一的管理工具,这些依赖很容易出现版本冲突的问题,增加了项目的维护成本。此外,项目...

    apache-maven-3.8.6-bin.zip

    什么是Maven?简而言之,Maven是我们可以用来构建和管理基于Java的项目的工具。与较旧的构建工具(例如Ant)(同样也是Apache项目)相比,Maven为开发人员提供了一种标准的方法来构建项目,对项目所包含的项目进行...

    maven使用文档,maven使用文档

    ### Maven 使用文档详解 #### Maven 简介与特点 Maven 是一款强大的项目管理和构建工具,主要用于 Java 项目的管理。Maven 提供了统一的标准流程来管理项目的生命周期、依赖关系以及项目信息等,极大地提高了开发...

    idea使用maven创建web项目详细教程

    创建一个新的 Maven 工程,首先选择创建一个新的项目,命名为 web_work,然后选择 Maven 工程模板,填写项目信息。 4. Maven 工程改造 创建好的 Maven 工程是一个普通的 Java 项目,而不是 Web 项目,所以需要进行...

    chm版本Maven教程

    使用Maven创建Web应用程序项目 Maven POM Maven 构建生命周期 Maven 构建配置文件 Maven存储库 Maven插件 Maven创建Java项目 使用Maven构建和测试Java项目 Maven外部依赖 Maven项目文档 Maven项目模板 Maven快照 ...

    java视频教程之SVN Maven搭建自动化构建教程 Eclipse中使用Maven

    java视频教程之SVN Maven搭建自动化构建教程 Eclipse中使用Maven视频教程云盘下载链接

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    5. **支持Java 9**: Maven 3.5.2兼容Java 9,允许开发者在新的JDK环境下使用Maven。 **Maven 的使用流程** 1. **创建项目**: 使用`mvn archetype:generate`命令可以快速创建一个基于模板的新项目。 2. **编辑POM*...

    在eclipse中使用maven(1).zip

    在Eclipse中使用Maven是Java开发者日常工作中的一项重要技能,Maven是一个强大的项目管理和构建工具,它简化了项目的依赖管理、构建流程以及版本控制。本教程将详细讲解如何在Eclipse环境中配置和使用Maven。 1. **...

    maven搭建使用详解

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理...由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

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

    Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...

    maven详细使用教程

    maven详细使用教程 maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。maven的主要作用是解决项目中存在的问题,如多个项目之间的依赖关系、测试方法的执行和仓库的管理等。 maven的...

    MAVEN+JENKINS使用教程

    本文档旨在为读者提供一个系统的MAVEN+JENKINS使用教程,涵盖了MAVEN的基础知识、MYECLIPSE配置、MYECLIPSE运行MAVEN项目、加入依赖、命令行打包等方面的内容。 一、关于MAVEN MAVEN是一款基于项目对象模型(POM)...

    maven安装与使用

    ### Maven安装与使用详解 #### 一、Maven概述 Maven是一款强大的自动化构建工具,主要应用于Java项目的构建过程管理。Maven通过一系列标准集合、项目生命周期、依赖管理系统等核心功能,大大简化了项目的构建流程...

Global site tag (gtag.js) - Google Analytics