zoukankan      html  css  js  c++  java
  • Maven

    一、maven简介

    Maven是基于POM(工程对象模型),通过一小段描述来对项目的代码、报告、文件进管理的工具。

    Maven是一个跨平台的项目管理工具,它是使用java开发的,它要依赖于jdk1.6及以上。

    maven主要有两大功能:

    1)依赖管理

    其中“依赖”就是指依赖的jar包(当然可以是下载的也可以是我们自己写的),主要是通过pom.xml文件来管理。

    2,项目构建

    Maven这个工具可以根据模板创建项目,也可以从已有的项目生成模板,这里的模板,Maven术语叫archetype;

    二、maven安装

    1,从官方网站:http://maven.apache.org下载;

    2,将下载的压缩包解压;

     bin里是maven命令;boot里有类加载器;conf里有配置文件;lib里是maven的jar包。

    3,配置环境变量

    4,验证,命令mvn -v

    5,配置maven

    maven安装目录的conf里面有一个settings.xml文件(全局配置文件)这个文件就是maven的全局配置文件,该文件中配置了maven本地仓库的地址

     

    默认配置的本地仓库地址是~/.m2/repository,(在Windows和linux下 ~ 这个符号就是“用户”目录)。

    我们如果想把本地仓库配置到其他地方,如下配置一下就行,就是把本地仓库指定为D:workspaces-itcast epository。

    三、创建maven工程

    1,命令行创建maven工程:

    mvn archetype:generate  -DarchetypeCatalog=internal -DgroupId=com.fxust -DartifactId=demo -DarchetypeArtifactId=maven-archetype-quickstart

    mvn archetype:generate  -DarchetypeCatalog=internal -DgroupId=cn.everlook.myweb -DartifactId=myweb -DarchetypeArtifactId=maven-archetype-webapp 

    说明:

    1)坐标

      GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 
      GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的GroupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,ArtifactId是tomcat。 
      ArtifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,在你创建Maven工程后,新建包的时候,包结构最好是cn.zr.testProj打头的,如果有个StudentDao[Dao层的],它的全路径就是cn.zr.testProj.dao.StudentDao。

    2)archetypeArtifactId(项目骨架的类型) 
    * maven-archetype-archetype 
    * maven-archetype-j2ee-simple 
    * maven-archetype-mojo 
    * maven-archetype-portlet 
    * maven-archetype-profiles (currently under development) 
    * maven-archetype-quickstart 
    * maven-archetype-simple (currently under development) 
    * maven-archetype-site 
    * maven-archetype-site-simple 
    * maven-archetype-webapp 

    2,在eclipse中创建maven工程

    先配置一下eclipse中的maven,可以使用eclipse中集成的maven(默认),也可以点击右侧add添加自己安装的maven。

    然后再指定一下maven的配置文件就可以了。

    这里我把全局配置和用户配置文件都设为一个了,因为暂时觉得没有必要设两个文件。

    到这里就可以在eclipse中创建maven工程了

    方式一:使用骨架模版

     

    我们常用的骨架模版就上面这两种,quickstart1.1用于普通java项目,webapp1.0用于创建web项目。

    这里设置G A V(即坐标)。

    如果上面选骨架模版时选为webapp1.0那个,则创建的项目目录结构为:

    方式二:不使用骨架模版

     

    这里可以选择工程的3种打包方式:

    1,pom包,一般就是一个只包含pom.xml的空工程(作为父工程)用于jar的版本控制,即用来约束整个工程所使用的工具。

    2,jar包,我们用的各种工具类就是jar包,当然我们自己写的实现某些功能的模块(例如dao层用于操作数据库的模块)就打为jar包。

    3,war包,例如我们的web工程中的网页资源等就不能打为jar包(因为这些资源是用户需要访问的,不能压缩为jar包)

    例如下面网上的淘淘商城的项目结构

    四、maven命令

    Maven的命令要在pom.xml所在目录(即工程目录)中去执行。

    4.1 Mvn compile

    编译的命令

    编译的时候需要依赖(包括jar包和maven相关东西),会先去我们指定的本地仓库找,找不到就去网上下并存到本地仓库。

    编译会产生target文件夹(在编译的工程目录下),里面就是编译后的源码.class文件。

    4.4 Mvn clean

    清除命令,清除已经编译好的class文件,具体说清除的是target目录中的文件。

    4.3 Mvn test

    测试命令,该命令会将test目录中的源码进行编译

    在target目录下的surefire-reports文件夹生成测试报告

    4.4 Mvn package 

    打包命令(默认打成jar包)。

    4.5 Mvn install

    安装命令,会将打好的包,安装到本地仓库。

    当然可以把这些命令进行组合

    1) mvn clean compile 先清空再编译

    2)mvn clean test 先执行clean,再执行test,通常应用于测试环节

    3)mvn clean package 先执行clean,再执行package,将项目打包,通常应用于发布前

    执行过程:

    • 清理————清空环境
    • 编译————编译源码
    • 测试————测试源码
    • 打包————将编译的非测试类打包

    4)mvn clean install  先执行clean,再执行install,将项目打包,通常应用于发布前

    执行过程:

    • 清理————清空环境
    • 编译————编译源码
    • 测试————测试源码
    • 打包————将编译的非测试类打包
    • 部署————将打好的包发布到资源仓库中

    在eclipse中运行,在项目上有右键run as -> maven build,然后再下面goals中写命令即可(不用写mvn)

  • 相关阅读:
    一个简单的C++程序反汇编解析
    一个简单的C++程序反汇编解析
    Oracle 10g 用户数及价格
    若何应对被公开的Oracle口令加密算法(3)
    Solaris办事管理对象 SMF快速入门指南(1)
    Solaris 10完成安好Kerberos身份验证(1)
    Solaris效力操持工具 SMF疾速入门指南(3)
    Oracle Warehouse Builder 自动化ETL措置历程(4)
    如何经过PHP获得MySQL procedure成效
    Solaris 10下设置EJB 3.0情况(2)
  • 原文地址:https://www.cnblogs.com/xdyixia/p/9228344.html
Copyright © 2011-2022 走看看