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. PAT B1015A1062德才论(25)

    题目描述 宋代史学家司马光在<资治通鉴>中有一段著名的"德才论":"是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人.凡取人之术,苟不得 ...

  2. Coloring Edges(有向图环染色)-- Educational Codeforces Round 72 (Rated for Div. 2)

    题意:https://codeforc.es/contest/1217/problem/D 给你一个有向图,要求一个循环里不能有相同颜色的边,问你最小要几种颜色染色,怎么染色? 思路: 如果没有环,那 ...

  3. 用SPFA 解决POJ2240

    Arbitrage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30790   Accepted: 12761 Descr ...

  4. Java EE HttpServletRequest接口和HttpServletResponse接口

    package javax.servlet.http (https://docs.oracle.com/javaee/7/api/javax/servlet/http/package-summary. ...

  5. Java EE javax.servlet中的Servlet接口

    Servlet接口 public interface Servlet 其实现类有:FaceServlet.GenericServlet.HttpServlet 一.介绍 Servlet接口定义了所有s ...

  6. 04docker容器操作

    操作Docker container 容器是镜像的一个运行实例,镜像是静态的只读文件,容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态 1:新建一个容器 ubuntu@ubuntu: ...

  7. 【原创】大数据基础之Kudu(6)kudu tserver内存占用统计分析

    kudu tserver占用内存过高后会拒绝部分写请求,日志如下: 19/06/01 13:34:12 INFO AsyncKuduClient: Invalidating location 34b1 ...

  8. Swift调用微信支付宝SDK(Swift4.0)

    1.第一步在程序入口注册微信  (支付宝不需要) func application(_ application: UIApplication, didFinishLaunchingWithOption ...

  9. TCP/IP网络知识

    1.TCP/IP概念 TCP/IP不是单指一种传输协议,而是一组传输控制协议/互联网协议. 2.TCP/IP分层 (计算机网络中,实际应用的网络协议是TCP/IP协议族,TCP/IP的应用层大体上对应 ...

  10. MongoDB学习笔记,基础+增删改查+索引+聚合...

    一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...