MAVEN解决的问题

1.当我们开始一个工程的时候往往需要几十甚至上百个jar包,如果没有一个管理工具的话,结果就是每个都需要自己手动导入工程目录,并且还有可能发生jar包冲突,版本冲突等问题
2.在测试项目之前我们需要写一些单元测试来进行自测,MAVEN就可以自动运行给我们检测代码质量
3.最后就是打包,虽然现在编译工具也是支持打包的,但是 用MAVEN的话一键就可以打包完成。
4.传统的web工程中的jar包是在项目中的 而用MAVEN开发的项目jar包是在一个jar仓库中的 通过jar包的一个地址就可以找到并使用 虽然少量项目并不能看出MAVEN的简便,但是当很多项目同时依赖很多同样的jar的时候,就会发现用MAVEN会使项目大小成倍数的减小 我们平时所说的依赖管理就是指maven工程对jar包的管理。

MAVEN仓库

MAVEN有3种仓库
本地仓库
远程仓库(私服)
中央仓库
本地仓库中存放的是系统盘中的jar包 , 当本地仓库中没有就会联网去中央仓库中找需要的jar包 , 但是中央仓库中包含所有开源的jar包 量是非常的大的 所以就有了私服的概念, 我们需要的jar包先由远程仓库去中央仓库中下载 然后在本地中连接远程仓库使用 , 远程仓库中的jar包还可以来自本地上传

MAVEN标准目录结构

src/main/java目录 放置核心代码部分
src/main/resources目录 放置配置文件部分
src/test/java目录 放置测试代码部分
src/test/resoutces目录 放置配置文件
src/main/webapp目录 放置web工程(放置前端页面资源)

MAVEN常用命令

mvn clean 删除本地编译的所有信息
mvn compile将src main下代码进行了编译 放在target目录下
mvn test 将src test 和src main目录下java文件编译成class文件放在target目录下
mvn package 同样可以将src test 和src main目录下java文件编译成class文件放在target目录下 并且将文件打包成相对应的jar包或者war包(由pom文件中自己想要的类型决定)

mvn install 同样可以编译 打包 他还将打包的文件存进了本地仓库
mvn deploy 发布

MAVEN概念模型图


项目对象模型
包含项目自身信息
项目运行所依赖的jar包信息
项目运行环境信息 jdk Tomcat信息
依赖管理模型
公司组织名称
项目名
版本号

plug-in
每一个构建项目的命令都对应了maven底层一个插件(compile,test,package,install,deploy)

IDEA集成MAVEN插件

打开idea ----> 点击File---->点击Settings---->搜索maven---->双击Maven进行配置


(maven地址不知道是哪里的可以参考我上一篇博客的maven安装配置
https://blog.csdn.net/weixin_44693109/article/details/114262681#comments_15475775
至此一个项目的maven环境就搭建好了

MAVEN基础讲解的更多相关文章

  1. Maven 基础标签之版本管理和冲突解决

    前言 我们在做java项目的时候由于jar包太多,我们就需要使用maven做项目管理,管理项目的jar包依赖,包括打包上线 maven基础 Maven 是一个项目管理工具,主要用于项目构建,依赖管理, ...

  2. maven基础知识

    1.maven基础知识 1.1maven坐标 maven坐标通常用冒号作为分割符来书写,像这样的格式:groupId:artifactId:packaging:version.项目包含了junit3. ...

  3. Verilog语法基础讲解之参数化设计

    Verilog语法基础讲解之参数化设计   在Verilog语法中,可以实现参数化设计.所谓参数化设计,就是在一个功能模块中,对于一个常量,其值在不同的应用场合需要设置为不同的置,则将此值在设计时使用 ...

  4. 原生AJAX基础讲解及兼容处理

    原文:原生AJAX基础讲解及兼容处理 AJAX = Asynchronous JavaScript and XML (异步的JavaScript和XML). AJAX不是新技术 ,但却是热门的技术.它 ...

  5. JavaScript继承基础讲解,原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承

    说好的讲解JavaScript继承,可是迟迟到现在讲解.废话不多说,直接进入正题. 既然你想了解继承,证明你对JavaScript面向对象已经有一定的了解,如还有什么不理解的可以参考<面向对象J ...

  6. Maven基础

    Maven基础 maven核心内容:依赖管理. Maven是Apache组织的开源项目,是项目构建工具.用来管理jar包之间的相互依赖关系 Maven是一个项目构建和管理的工具,提供了帮助管理,构建, ...

  7. Android学习笔记-Adapter基础讲解

    本节引言 从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的,了解并学会使用这个Adapter很重要, Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式 ...

  8. 第二十四节:Java语言基础-讲解数组的综合应用

    数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...

  9. maven 基础

    maven安装链接 maven基础命令: 编译命令:mvn compile 测试命令:mvn test 清空命令:mvn clean 打包命令:mvn package 打包命令:mvn install ...

随机推荐

  1. javascript-初级-day06作用域、JS预解析机制

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  2. Android系统编程入门系列之硬件交互——多媒体摄像头

    多媒体系列硬件 多媒体包括图片.动画.音频.视频,这些多媒体素材的采集(输入)主要依靠摄像头和麦克风等硬件设备转化为基础数据,而他们的播放渲染(输出),则需要依靠具有相关功能的编解码软件.当然随着硬件 ...

  3. python——关变量下划线叙述

    _xx:前置单下划线,私有化属性或方法,一般来讲,变量名_xx被看作是"私有 的",在模块或类外不可以使用.当变量是私有的时候,用_xx 来表示变量是很好的习惯.类对象和子类可以访 ...

  4. W10: Warning: Changing a readonly file使用vi/vim报错问题解决

    使用vi/vim编辑文件的时候出现W10: Warning: Changing a readonly file报错 解决方法: 一.强制保存退出 :wq! 二.ll 查询文件属主,使用属主赋予权限 c ...

  5. C语言入坑指南-数组之谜

    前言 在C语言中,数组和指针似乎总是"暧昧不清",有时候很容易把它们混淆.本文就来理一理数组和指针之间到底有哪些异同. 数组回顾 在分析之前,我们不妨回顾一下数组的知识.数组是可以 ...

  6. 使用Postman轻松实现接口数据关联

    Postman Postman是一款非常流行的HTTP(s)接口测试工具,入门简单,界面美观,功能强大.作为一个测试/开发工程师,这是一款必须要会用的工具.今天以一个实际的案例,来介绍下Postman ...

  7. LInkedList总结及部分底层源码分析

    LInkedList总结及部分底层源码分析 1. LinkedList的实现与继承关系 继承:AbstractSequentialList 抽象类 实现:List 接口 实现:Deque 接口 实现: ...

  8. 巩固javaweb的第二十二天

    巩固内容: 使用表单数据 : 要对用户输入的信息进行验证,需要先获取输入信息.每个表单元素都属于一个 form 表单,要获取信息,需要先获取 form,然后访问表单元素的值. 有两种方式可以获取 fo ...

  9. Yarn 容量调度器多队列提交案例

    目录 Yarn 容量调度器多队列提交案例 需求 配置多队列的容量调度器 1 修改如下配置 SecureCRT的上传和下载 2 上传到集群并分发 3 重启Yarn或yarn rmadmin -refre ...

  10. add more

    # -*- coding: utf-8 -*- print('123', 123) print(type('123'), type(123)) # string, integer /ˈintidʒə/ ...