1.maven 简介
maven是Apach软件基金会维护的一款自动化构建工具;
作用是服务于java平台的项目构建和依赖管理;
 
2.关于项目构建
1)java代码
Java是一门编译型语言,.java扩展名的源文件需要编译成.class扩展名的字节码文件才能够执行;
所以编写任何Java代码想要执行的话就必须经过编译得到对应的.class文件;
 
2)web工程
部署:如果要通过浏览器访问java 程序,必须将编译好的java程序的web工程放入服务器的指定目录;这一过程称为部署;
如图:web工程和其编译后的结果目录结构对比
3)实际项目
实际项目除了web工程编译结果的文件之外;还需要第三方jar包及各种配置文件;这些也需要按正确的目录结构部署到服务器;
 
3.项目构建过程
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将Java源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java工程对应jar包,Web工程对应war包。
⑥安装:在Maven环境下特指将打包的结果——jar包或war包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行。
 
4.maven核心概念
maven可以实现项目的自动化构建;
maven通过以下9个核心概念来实现自动化构建的:
    ①POM
    ②约定的目录结构
    ③坐标
    ④依赖管理
    ⑤仓库管理
    ⑥生命周期
    ⑦插件和目标
    ⑧继承
    ⑨聚合
 
5.约定的目录结构
在开发中如果需要第三方框架知道自己创建的资源在哪里有两种方式:
    -通过配置文件来明确告诉;
    -基于第三方框架的约定;
 
为了maven能识别项目从而实现自动化构建,必须按maven约定的目录结构来创建项目:
 
6.关于POM
pom (project object model):项目对象模型;
是将java项目的相关信息封装为对象作为便于操作和管理的模型;
pom是maven项目的核心配置;
 
7.maven坐标
就像x、y、z三个坐标可以确定三维空间上的一点;maven工程也需要在maven仓库中唯一定位;
maven工程用下面的三个向量来定位:
    groupid    ->一般用公司名称的倒序;例如com.liusir
    artifactld    ->当前项目的模块名称;
    version    ->当前模块的版本;
例如:
<groupId>com.liusir</groupId>
<artifactId>Hello</artifactId>
<version>0.01-SNAPSHOT</version>
 
通过坐标在maven仓库中找jar包:
    将三个向量连起来:
com.liusir+Hello+0.01-SNAPSHOT
    将连起来的字符换成目录结构在maven仓库中找:
com/liusir/Hello/0.01-SNAPSHOT/HELLO-0.01-SNAPSHOT.jar
例如:查找spring-core
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
在maven仓库里的路径:
注意:我们自己的maven工程必须执行安装操作才会进入仓库;命令是:mvn install
 
 
 
 

maven的概念-01的更多相关文章

  1. (转)Maven学习总结(四)——Maven核心概念

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(四)——Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Mav ...

  2. Maven(三)理解Maven核心概念

    转载自: http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 本文以类图的方式,介绍maven核心的12个概念以及相互之间的 ...

  3. (一)Maven 基本概念——根目录、项目创建、坐标

     1. MavenProjectRoot(项目根目录)   |----src   |     |----main   |     |         |----java ——存放项目的.java文件  ...

  4. Maven学习总结(4)——Maven核心概念

    Maven学习总结(四)--Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Maven坐标主要组成 groupId:组织标识 ...

  5. Maven(一)Maven 的概念和安装

    Maven 的概念和安装 Maven 是什么 首先 Maven 肯定是一个造福人类的好东西,它可以省去我们构建项目中引入 jar 包时的麻烦,还有利于项目的模块化开发等等等好处.在如今项目中大体都是使 ...

  6. Maven 基本概念——根目录、项目创建、坐标

     1. MavenProjectRoot(项目根目录)   |----src   |     |----main   |     |         |----java ——存放项目的.java文件  ...

  7. Maven基本概念——根目录、项目创建、坐标

    转载来自:https://www.cnblogs.com/zjfjava/p/6817793.html 尊重原创! (一)Maven 基本概念——根目录.项目创建.坐标    1. MavenProj ...

  8. Maven高级:01.maven分模块构建&&02.私服的应用

    IntelliJ IDEA 2018.3.6 x64 07 Maven高级:01.maven分模块构建(上) 07 Maven高级:01.maven分模块构建(中) 07 Maven高级:01.mav ...

  9. Maven基本概念和操作

    最近在学Java,找来一个开源项目练手,它是用 Spring Boot 搭建的框架,于是去学 Spring Boot,然而 Spring Boot 需要有 Spring 框架和 Maven 的使用经验 ...

随机推荐

  1. crontab中的%

    crontab中的%是换行的意思,在使用时需要使用\做转义. ----------------- 在用crontab执行一段定时任务时,想要把数据输出到一个日期命名的文件中 * * * * * cd ...

  2. 执行jar包,输出信息到文件

    有时如果临时需要上项目执行一些脚本或者临时文件,可以将项目达成jar包,去执行 执行jar包: java -jar test.jar 输出日志到文件:nohup java -jar test.jar ...

  3. Jmeter之正则表达式取样器~案例详解

    正则:按照规则提取数据 场景:A请求获得的响应数据,需要作为B请求的提交数据(eg:A:购物车页面→B:下单(正则提取购物车的商品信息,数量信息等)) 常用正则表达式:(.+?) 辅助:添加Debug ...

  4. go 表单

    package main import ( "fmt" "io" "net/http" ) const form = `<html&g ...

  5. 22 Years of KDE

    22 Years of KDEhttps://timeline.kde.org/ http://www.kdedevelopers.org/

  6. 开始写下自己的python的cocos2d, pyglet学习

    开始写下自己的python的cocos2d, pyglet学习 2014年01月18日 13:52:36 我要做程序达人 阅读数 9051更多 分类专栏: python的cocos2d和pyglet ...

  7. 啥叫K8s?啥是k8s?

    •Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是 ...

  8. MVC4 日期格式化

    // MVC返回到View的日期一般都会带有0分0秒,比如2014/08/22 在前端显示为2014/08/22 00:00:00,比较不美观 // 如果是想展示数据 用label @Html.Lab ...

  9. Flink的时间类型和watermark机制

    一FlinkTime类型 有3类时间,分别是数据本身的产生时间.进入Flink系统的时间和被处理的时间,在Flink系统中的数据可以有三种时间属性: Event Time 是每条数据在其生产设备上发生 ...

  10. 你不知道的css各类布局(二)之流体布局、液体布局、栅格布局

    流体布局 什么是流 在谈论流体布局之前我们需要知道一件事情就是何为“流”,所谓“流”就是“文档流”,是css中的一种基本定位和布局 概念 流体布局(Liquid/Fluid Layout)指的是利用元 ...