• maven实战--读书笔记之第一章和第二章


    第一章:Maven简介

    1.本书为国内社区公认的专家徐晓斌所写,本书基于maven3.0所编写,maven是非常优秀的建模工具,maven最大化的消除了构建的重复,抽象了构建生命,他还有一个优点,帮助我们标准化构建过程,有了maven,所有的项目构建命令都是简单一致的,他还是一个依赖管理工具和项目信息管理工具,提供了中央仓库,能帮我们自动下载构建。

    2.其他建模工具之Make,make是一个名为Makefile的脚本文件驱动,该文件使用自己定义的语法格式,其基本组成部分是Rules,而每一条规则又包括目标(Target),依赖(prerequisite)和命令(Command),make通过一系列目标和依赖将整个构建过程串联起来,同时利用本地命令完成每个目标的实际行为,Make的强大之处是他可以利用所有系统的本地命令,尤其是unix和linux系统,丰富的功能,强大的命令能够帮助Make高效的完成任务,Make缺点,将自己和操作系统绑定在一起,使用Make,很难实现跨平台的构建,Makefile的语法也成问题,Make构建失败的原因往往是因为一个难以发现的空格或者tab的错误。

    3.其他建模工具之Ant(Another Neat Tool),他最早用来构建著名的tomcat,Ant可以看成是是java版本的Make,因为使用了java,所以是跨平台的,和Make一样,Ant是过程式的,开发者指定每一个目标,以及完成该目标所需要执行的任务,针对每一个目标,开发者都需要重复编写这一过程,Maven是申明式的,项目构建过程和过程各个阶段所需的工作都由插件实现,并且大部分插件都是现成的,开发者只需要申明项目的基本元素,Maven就执行内置的,完成的构建过程,很大程度消除了重复。Ant没有依赖管理,很长一段时间Ant不得不手工管理依赖,现在可以借助lvy管理依赖,Maven不仅内置了依赖管理,更有一个可能拥有全世界最多的java开源软件包的中央仓库,Maven用户,无需配置可以直接享用。

    第二章:Maven安装与配置

    1.windows安装maven

    首先需要检查是否安装java环境,运行cmd命令,echo “%JAVA_HOME%”  java-version;javac -version

    1.安装jdk,添加环境系统变量----->变量名:JAVA_HOME,变量值:D:jdk1.8.0_91;添加变量名CLASSPATH,变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar; 然后在path中添加标红配置,也可以编辑本文添加,记得添加之前确认是否是以;结尾,如果不是先添加;后,在添加自己的java路径,然后以;结束。

    2.Maven安装

    下载路径:http://maven.apache.org/download.cgi   ,apache-maven-3.6.1-bin.zip  解压路径D:developTools

     配置环境变量:变量名:MAVEN_HOME:变量值:D:developToolsapache-maven-3.1.0,在path中添加

    2.linux安装maven

    下载路径:http://maven.apache.org/download.cgi   ,  apache-maven-3.6.1-bin.tar.gz  解压至本地目录

    现在已经创建一个好的apache-maven-3.0,虽然直接使用该目录配置配置环境变量就能使用maven了,但是推荐的做法是在安装的目录旁平行的创建一个符号链接,方便日后升级 ln -s apache-maven -> apache-maven-3.0,第二步,设置MAVEN_HOME环境变量指向符号链接apache-maven,并且把安装目录下的bin/文件夹添加到系统变量path中;一般而言,需要将这两行命令添加到系统的登录shell中,编辑~/.bashrc文件,添加两行命令,每次启动一个终端,这些配置可以自动执行。命令如下

    export MAVEN_HOME=/home/local/bin/apache-maven

    export PATH:$PATH:$MAVEN_HOME/bin

    检验maven是否安装成功:echo $MAVEN_HOME     mvn -v

    maven升级:假设我们现在需要将maven升级到maven 3.1版本,将安装包解压至前一版本的平行目录,然后更新符号链接指向3.1版的目录就行ln -s apache-maven-3.1/apache-maven

    3.安装目录分析

    maven目录结构

    bin:该目录包含了mvn运行的脚本,这些脚本来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令,其中mvn是linux的shell脚本,mvn,bat是windows平台的bat脚本,在命令行中输入一条mvn命令时,实际上是调用这些脚本,该目录还包含了mvnDebug和mvnDebug.bat两个文件,两种有何区别,mvnDebug比mvn多了一条MAVEN_DEBUG_OPTS配置,其作用是运行Maven时,开启debug模式,以便调试maven本身,该目录还包含了m2.conf文件,这是classworlds的配置文件,后面会介绍classworlds。

    boot:该目录只包含一个文件,该文件为plexus-classworlds-2.2.3.jar,plexus-classworlds是一个类加载器框架,相对于java类加载器,他提供了更丰富的语法以方便配置。

    conf:该目录包含了一个非常重要的setting.xml,直接修改该文件,能在机器上全局的定制maven的行为,一般情况下,我们会复制一份,然后在修改。

    lib:该目录包含了所有maven运行期间需要的java类库,maven本身是分模块开发的,因此用户还可以看到maven-core-3.0,maven-model-3.0之类的文件,此外,还包含了一些maven用到的第三方依赖库,common-cli-1.2.jar,google-collection-1.0.jar等

    4.设置http代理

    公司基于安全因素考虑,要求你通过使用安全认证的代理访问因特网,这种情况下,就需要为maven配置http代理,才能让他正常访问外部仓库。

    在setting.conf文件中,proxies中可以有多个proxy元素,如果申明了多个proxy元素,则默认第一个被激活的proxy会生效,这里申明了一个id为optional的代理,active的值为true,表示激活该代理,protocol表示使用的代理协议,这里是http,host和port为主机名和端口,username和password设置认证信息,nonProxyHosts用来指定哪些主机名不需要代理,可以使用“|“来分割多个主机名,改配置也可以使用通配符,如*。google.com,表示所有以google.com结尾的域名访问都不需要通过代理。 

  • 相关阅读:
    sql Test
    使用Team Foundation Server进行源代码管理
    幸运的秘密
    使用Dotmsn扩展Joymsg聊天机器人,使其同时支持QQ.MSN
    发布.net项目开发工具新版
    C#.Net项目生成器(ibatis)使用说明
    敏捷开发,Agile Development
    单元测试基础篇VS2008
    iBATIS.NET
    IBatis.Net学习笔记系列
  • 原文地址:https://www.cnblogs.com/hejj-bk/p/11415630.html
Copyright © 2020-2023  润新知