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. LC 155 Min Stack

    问题描述 Design a stack that supports push, pop, top, and retrieving the minimum element in constant tim ...

  2. Djangon简介

    目录 Djangon简介 MVC与MTV模型 MVC MTV python三大主流web框架 Django的下载与基本命令 基于Django实现的一个简单示例 Django静态文件配置 Django ...

  3. Win32汇编常用系统函数

    汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...

  4. MySQL 数据库的备份和恢复

    1.DOS命令 mysqldump /*DOS命令生成文本文件*/ mysqldump -u username -h host -ppassword dbname [tbanme1,tbname2,. ...

  5. C++内存分配和分区

    1.分配方式 静态分配: 静态区(全局区),分配全局变量.静态变量优先于main函数. 动态分配: (1)自动分配:栈区(2)手动分配:堆区,(malloc,free) (new,delete) 2. ...

  6. [转载]Flex的文件规则

    原文在:https://blog.csdn.net/hczhiyue/article/details/20483209 文章中给的一个定义很明白,对于初学者来说很有帮助: 什么是 FLEX?它是一个自 ...

  7. pymssql文档(转)

    pymssql methods set_max_connections(number) -- Sets maximum number of simultaneous database connecti ...

  8. 利用Cmake 将最新版本OBS编译成windows版本。

    准备工作: 1. VS2013 的最新更新版或者VS2015 2. QT Creater 5.7   https://www.qt.io/ 3.  CMake (cmake-gui) 4. obs 依 ...

  9. HTML5中新增加的结构元素、网页元素和全局属性

    HTML5新增的结构元素(新增的都是块元素,独占一行) 1) header 定义了文档的头部区域 <header> <h1>网站标题<h1> </header ...

  10. 记录:初入Java环境部署踩坑

    1.在部署环境之前,先确定大佬们用的哪几种软件,然后依次下载,安装,IDEA, JDK, Tomcat, Maven.    什么是JDK?    JDK是 Java 语言的软件开发工具包,主要用于移 ...