首页 > 代码库 > Maven

Maven

1.软件开发中遇到的问题

  1.1 jar包的依赖与管理

  -项目中有很多jar包,不能确定jar包的完全正确性、不同技术框架版本的管理、jar包的依赖。

  1.2 自动构建项目

  -软件开发:可行性分析-->需求分析-->软件设计-->软件开发-->发布-->运维

  -软件构建:软件已经开发完毕,需要构建成一个产品进行发布。

    --构建步骤:清除-->编译-->测试-->报告-->打包(jar或war)-->安装-->部署到远程

  而maven却可以通过一个命令实现自动构建软件项目。


2.maven介绍

  maven是一个采用纯Java编写的开源项目管理工具,Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都要被定义在一个叫做pom.xml文件中,通过该文件maven可以管理项目的整个生命周期,包括清除、编译、测试、报告、打包、部署等等。目前Apache下绝大多数项目都已经采用Maven进行管理,而Maven本身还支持多种插件,可以方便灵活的控制项目,开发人员的主要任务应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同环境中去依赖jar包,项目部署等。maven正是为了将开发人员从这些任务中解脱出来而诞生的。


3.maven解决的问题

  3.1 jar包的声明式依赖管理

  3.2 自动构建 发布项目


4.maven与ant之间的区别?

  maven与ant都是软件构建工具、软件管理工具,maven比ant更加强大,已经取代了ant。

  maven的优点:maven有jar包的声明式依赖,maven有jar包的仓库。


5.maven与SVN的区别?

    maven 软件构建工具,是软件已经开发完毕,需要构建,需要部署与发布。

    SVN是版本控制工具,是团队协同开发工具。SVN仓库:1.项目源代码保存 2.历史版本的备份 3.每一次版本的修改情况


6.下载及安装maven

  6.1 下载地址:Apache官网

  6.2 maven 软件目录介绍

    lib: maven的共享库,maven依赖的jar包库

    boot: plexus-classworlds-2.5.1.jar     该文件是jar包下载的引擎,通过该工具来下载jar包

    conf:settings.xml 配置的是本地仓库 以及服务器的验证

    bin:maven可执行的命令

  6.3测试maven是否安装成功(本人将其放在D盘下)

技术分享

    6.3.1解压下载下来的maven压缩包

    6.3.2在Windows的环境变量中设置MAVEN_HOME

技术分享

    6.3.3在Windows的环境变量中设置path路径

技术分享

    6.3.4测试是否安装成功

    在cmd窗口输入mvn -version,如果出现类似下图的情况,则表示安装成功。

技术分享


7.创建满足maven规范的项目

  约定大于配置

  maven规则的项目

    -src

      -main

        -java

        -resources

      -test

        -java

        -resources

    -target:该文件夹可有可无,是编译src后的输出文件的目录,没有则自动创建。

    -pom.xml:项目对象模型,它是maven核心配置文件。


8.maven生命周期命令

  clean:清除

  compile:编译

  package:打包

  install:安装到本地仓库

  deploy:部署,部署到私服


9.maven术语

  maven软件构建的生命周期

    清除-->编译-->测试-->报告-->打包-->安装-->部署

  maven生命周期命令插件

    mvn clean compile test package install deploy

  maven仓库

    本地仓库-->私服-->中央仓库

  maven坐标

    -maven是通过坐标的概念来唯一标识jar包或者war包。

    -坐标的组成:groupId+artifactId+version

      -groupId:组Id 公司的id,或者是公司的报名 cn.sina

      -artifactId:构建物Id,产品的Id或产品名

      -version:版本号


10.

 







本文出自 “11831428” 博客,请务必保留此出处http://11841428.blog.51cto.com/11831428/1857164

Maven