MAVEN

(1)Maven解决的问题

1导入Jar包
2编译Java文件
3单元测试
4打包

(2)Maven管理依赖

传统web工程,jar包在项目中
maven开发的crm项目,jar包不在项目中,jar包放在jar包仓库中,通过jar包的坐标寻找jar包仓库中的jar包
依赖管理:就是maven工程对jar包的管理过程

(3)项目的一键构建=编译+测试+运行+打包+安装+部署

Maven中的pom.xml就是记录项目包的依赖
直接到项目目录,命令maven tomcat:run项目就可以运行

(4)仓库的种类和彼此的关系

maven的安装目录—>conf文件—>setting.xml中
Default: ${user.home}/.m2/repository设置了默认路径,系统盘找本地仓库
maven工程通过jar包的坐标到本地仓库(默认在系统盘)找jar包,如果本地仓库没有jar包则到中央仓库去下载
中央仓库放置了几乎所有的jar包,实际开发中用不了
为了不联网可以开发,创建公司自己用的仓库,远程仓库(私服)

仓库分三类本地仓库,远程仓库(私服),中央仓库
在默认情况下,启动一个maven项目会从本地仓库中找jar包,如果本地仓库没有,会从中央仓库联网下载jar包
在公司中,会从本地仓库找jar包,如果本地没有会从远程仓库找jar包,如果远程仓库也没有,可以本地上传,也可以从中央仓库下载

(5)maven标准目录结构

核心代码部分,打成jar包
配置文件部分,jar包之外
测试代码部分
测试配置文件

maven项目标准目录结构
src/main/java目录 核心代码部分
src/main/resources 配置文件部分
src/test/java 测试代码部分
src/test/resources 测试配置文件
src/main/webapp 页面资源,js,css,图片等等

(6)maven常用命令

a
mvn clean
发现项目目录下少了一个target目录,把编译好的项目中的信息删掉
b
mvn compile
发现项目目录下多了一个target目录
target目录有classes文件,文件中是src/mainjava/中的文件编译

c
mvn test
会将src/main/java和src/test/java编译

d
mvn package
把项目打包放在target目录下,在pom.xml中中设置打包类型,同时会将src/main/java和src/test/java编译

e
mvn install
把包安装到本地仓库
同时会将项目打包,同时会将src/main/java和src/test/java编译

(7)maven生命周期

编译 测试 打包 安装 发布
mvn compile mvn test mvn package mvn install mvn deploy
src/main/java src/main/java src/test/java

这五个命令是一个生命周期,默认生命周期,执行后面的命令。前面的命令会自动执行

清除项目编译信息
mvn clean
清理生命周期

(8)maven概念模型图

项目对象模型,指的是maven项目中的pom.xml文件

主要是三部分项目自身信息,项目所依赖的jar包信息(又独立出来一个模型叫做依赖管理模型)
项目所运行的环境信息,比如jdk,tomcat信息

第一部分:以下三个是项目自身的坐标

com.itheima
maven_java
1.0-SNAPSHOT

第二部分:项目的依赖信息

javax.servlet servlet-api 2.5 provided javax.servlet.jsp jsp-api 2.0 provided junit junit 4.12 test

第三部分:项目运行的环境信息

org.apache.tomcat.maven tomcat7-maven-plugin 2.2 8888 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 UTF-8

依赖管理模型,jar包连接着三个仓库local(本地仓库),b2b(远程仓库),central(中央仓库)

每一个jar包必须包括这三个坐标
公司组成的名称groupid
项目名arcfacid
版本号version

javax.servlet
servlet-api
2.5

构建生命周期,对应maven第二个核心功能,一键构建
构建项目中的默认生命周期,每一个构建项目的命令对应maven底层的一个插件
compile,test,package,intall,deploy

框架学习之Mave(一)相关推荐

  1. jQuery框架学习第二天:jQuery中万能的选择器

    jQuery框架学习第一天:开始认识jQuery jQuery框架学习第二天:jQuery中万能的选择器 jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQu ...

  2. ssm框架requestmapping找不到_框架学习,就是介么简单

    框架学习 程序员凯小白 最近实训ssm框架,SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大 ...

  3. rose框架学习总结

    rose框架学习总结 rose框架为paoding rose框架 具体可见https://code.google.com/p/paoding-rose/ 1   对rose框架的整体认识 1.1B/S ...

  4. Hadoop学习笔记—18.Sqoop框架学习

    Hadoop学习笔记-18.Sqoop框架学习 一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据 ...

  5. jQuery框架学习第一天:开始认识jQuery

    jQuery框架学习第一天:开始认识jQuery jQuery框架学习第二天:jQuery中万能的选择器 jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQu ...

  6. Android接口和框架学习

    Android接口和框架学习 缩写: HAL:HardwareAbstraction Layer,硬件抽象层 CTS:CompatibilityTest Suite,兼容性测试套件 Android让你 ...

  7. selenium + python自动化测试unittest框架学习(二)

    1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...

  8. SpringMVC框架--学习笔记(下)

    接上篇:SpirngMVC框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81038382 17.全局异常处理: 系统中异常包 ...

  9. SpringMVC框架--学习笔记(上)

    1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...

最新文章

  1. python gui选择_Python之GUI的最终选择(Tkinter)
  2. python opencv 人脸比对_Python3.5+openCv在Windows下利用LBP算法进行人脸识别并匹配
  3. 反客为主 ——浅议呼叫中心在网络营销4C策略中的角色与价值
  4. 修改进程权限(转载)
  5. Python-random标准库知识小结
  6. (树)判断二叉树是否为BST
  7. 【数字信号处理】序列分类 ( 单边序列和双边序列 | 左边序列 | 右边序列 | 有限序列和无限序列 | 稳定序列和不稳定序列 )
  8. Git存管代码,实例演示
  9. java todo error_java基础-异常
  10. HttpContext(三)-Request
  11. 算法(二叉树-矩阵-堆排序)
  12. Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏
  13. 简洁的留言代码_这几段代码,测测你是 Python 菜鸟还是老司机
  14. ​618购物节,我用python逛淘宝、亚马逊,摸鱼被领导发现了
  15. 《数据结构与算法分析:C语言描述》复习——第六章“排序”——插入排序
  16. cordova 打包vue 集成的app , router-view 默认首页白屏
  17. 三校生计算机word基础知识,江西省2017年三校生计算机高考试卷
  18. 火狐 ajax提交失败,Firefox下AJAX0x80040111错误的解决方法
  19. 零基础学HCIE难度大吗?
  20. 如何选择靠谱的插画培训课程

热门文章

  1. 松下和高丝计划就利用“Snow Beauty Mirror”提供个性化美容方案开展验证测试
  2. 嗨购严选是什么,公司模式制度怎么样?
  3. 有了这个沙雕的废话生成器,我感觉以后都不用写文章了
  4. android端推送到底有多烦
  5. mysql数据库sql文件怎么打开吗,sql文件怎么打开
  6. Python学习周记
  7. Eclipse的安装与配置
  8. (更新源码)AndroidStudio新手开发:天气app(百度地图api+和风天气api+城市查询+折线展示)
  9. 基于Ansys Maxwell的磁齿轮二维有限元仿真模型
  10. 怎么自学计算机视觉?难不难?