zoukankan      html  css  js  c++  java
  • #从零开始的maven异世界#

                                                          从零开始的maven异世界

     

        1:什么是maven,maven可以做什么?

                                     首先,Maven的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven在美国是一个口语化的词语,代表专家、内行的意思,约等于北京话中的老炮儿。一个对Maven比较正式的定义是这么说的:Maven是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

    不过,这段话对于完全没有Maven实践经验的人来说,看了等于没看,并没有什么卵用。

                                    Maven到底是什么,能做什么,可以用更通俗的方式来说明。我们知道,项目开发不仅仅是写写代码而已,期间会伴随着各种必不可少的事情要做,下面列举几个感受一下:

                           1、我们需要引用各种jar包,尤其是比较大的工程,引用的jar包往往有几十个乃至上百个, 每用到一种jar包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的jar包冲突,版本冲突。

                           2、我们辛辛苦苦写好了Java文件,可是只懂0和1的白痴电脑却完全读不懂,需要将它编译成二进制字节码。好歹现在这项工作可以由各种集成开发工具帮我们完成,Eclipse、IDEA等都可以将代码即时编译。当然,如果你嫌生命漫长,何不铺张,也可以用记事本来敲代码,然后用javac命令一个个地去编译,逗电脑玩。

                           3、世界上没有不存在bug的代码,正如世界上没有不喜欢美女的男人一样。写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。

                           4、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型打包,如果是web项目,还需要将之发布到服务器,供人蹂躏。

                           试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理jar包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成Web站点,你会心动吗?傻子才不会。

     

                            负责任的告诉你,以上的一切Maven都可以办到。概括地说,Maven可以简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 

     

    原文地址:http://blog.csdn.NET/u012152619/article/details/51473380(个人感觉讲的非常详细而且易懂,所以转了过来。哈哈)

                                                          

     

     

                 2下载和安装maven

       下载地址:http://maven.apache.org/download.cgi  
     
     
               
     
            接下来滑动鼠标(还在本页)可以看到如下图的文字,点击椭圆框(方形框里面是源代码)就可以下载了;

     

           
        

       

     

         3:再下来就是环境变量配

     

        打开系统环境变量对话框

     

                                        3.1 右键“我的电脑” -> "属性" 

     

                                        3.2 在打开的属性面板里选择“高级系统设置”

     

                                        3.3 在打开的高级系统设置对话框中选择“高级”标签 -> “环境变量”          具体操作省

       

    添加新的系统环境变量MAVEN_HOME, 并设置其值为你安装的目录MAVEN_HOME= E:迅雷下载apache-maven-3.5.0   

                                  

     

      添加%MAVEN_HOME%in

                                        

      

     

    4首先进入cmd命令解释器;敲mvn -v如果出现如下maven的信息,那么说明已经安装好了 。

       

     

     

         最后再说下maven和jar的关系  : 依赖关系
            
    作者:知乎用户
    链接:https://www.zhihu.com/question/20104186/answer/152005635
    来源:知乎
            在maven之前,小王每一天来公司都胆战心惊,不知道那个实习生会昨天加班到十点干了啥,不幸的是他的模块要依赖实习生的,于是小王每天上班的前四个小时都会以下事情:

    检索最新代码;

    while(小王还没崩溃){单元测试;更新代码;跑不通;

    }

            小王崩溃了,他跑过去问实习生:“起不来,什么情况,你动了啥?”实习生给出了经典回答:“在我电脑上一直很好啊。”小王一气之下,拷贝实习生所有jar包替换,终于工程起来了。小王如此死循环了一周,感觉项目这么继续下去要崩,于是找到了maven。

    maven是啥,是绝佳的构建工具,帮你管理了从项目的开始到测试的所有过程,你可以用它(准确的说是maven的各个插件)编译、测试、清理、部署。maven同样可以帮你管理jar包,只要你在pom中配好相关的配置,maven就可以贴心地帮你下载好相应的依赖以及多重依赖。

    有了maven一般会配合hudson一起食用。maven管理你的项目的架构,hudson用于持续继承,及时发现团队项目中的潜在危险。

    我们来看一下有了maven之后是什么样子的?

    小王的模块不幸依赖了实习生的模块。小王每天去上班首先看看hudson有没有给项目经理发邮件。而maven下面的模块依赖一直就是用稳定版的,项目稳如狗,美好的一天开始了。

     
                                                                                                                                                                                                                                                   2017-06-30 21:17:26
  • 相关阅读:
    递推&&矩阵加速
    洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes
    总结一下当前阶段我认为比较常用的字符串操作
    关于递归与递推
    P1553 数字反转(升级版)
    关于C++读入数字按位取出与进制转换问题
    一本通题库 1058:求一元二次方程
    弄懂goroutine调度原理
    线程实现模型
    gin-jwt对API进行权限控制
  • 原文地址:https://www.cnblogs.com/liuhuaabcp/p/7100705.html
Copyright © 2011-2022 走看看