MAVEN基础讲解
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基础讲解的更多相关文章
- Maven 基础标签之版本管理和冲突解决
前言 我们在做java项目的时候由于jar包太多,我们就需要使用maven做项目管理,管理项目的jar包依赖,包括打包上线 maven基础 Maven 是一个项目管理工具,主要用于项目构建,依赖管理, ...
- maven基础知识
1.maven基础知识 1.1maven坐标 maven坐标通常用冒号作为分割符来书写,像这样的格式:groupId:artifactId:packaging:version.项目包含了junit3. ...
- Verilog语法基础讲解之参数化设计
Verilog语法基础讲解之参数化设计 在Verilog语法中,可以实现参数化设计.所谓参数化设计,就是在一个功能模块中,对于一个常量,其值在不同的应用场合需要设置为不同的置,则将此值在设计时使用 ...
- 原生AJAX基础讲解及兼容处理
原文:原生AJAX基础讲解及兼容处理 AJAX = Asynchronous JavaScript and XML (异步的JavaScript和XML). AJAX不是新技术 ,但却是热门的技术.它 ...
- JavaScript继承基础讲解,原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承
说好的讲解JavaScript继承,可是迟迟到现在讲解.废话不多说,直接进入正题. 既然你想了解继承,证明你对JavaScript面向对象已经有一定的了解,如还有什么不理解的可以参考<面向对象J ...
- Maven基础
Maven基础 maven核心内容:依赖管理. Maven是Apache组织的开源项目,是项目构建工具.用来管理jar包之间的相互依赖关系 Maven是一个项目构建和管理的工具,提供了帮助管理,构建, ...
- Android学习笔记-Adapter基础讲解
本节引言 从本节开始我们要讲的UI控件都是跟Adapter(适配器)打交道的,了解并学会使用这个Adapter很重要, Adapter是用来帮助填充数据的中间桥梁,简单点说就是:将各种数据以合适的形式 ...
- 第二十四节:Java语言基础-讲解数组的综合应用
数组的综合应用 // 打印数组 public static void printArray(int[] arr) { for(int x=0;x<arr.length;x++) { if(x!= ...
- maven 基础
maven安装链接 maven基础命令: 编译命令:mvn compile 测试命令:mvn test 清空命令:mvn clean 打包命令:mvn package 打包命令:mvn install ...
随机推荐
- @Inject注解
在看eureka的源码看到了这个注解,百度一下说这个和autowored差不多, import javax.inject.Inject;import javax.inject.Singleton; @ ...
- layui的下拉-多选
网址: https://hnzzmsf.github.io/example/example_v4.html 1.下载代码: 2.整合layui 3.代码整合: <link rel="s ...
- Atcoder Regular Contest 089 D - ColoringBalls(DP)
Atcoder 题面传送门 & 洛谷题面传送门 神仙题. 在下文中,方便起见,用 R/B 表示颜色序列中球的颜色,用 r/b 表示染色序列中将连续的区间染成的颜色. 首先碰到这一类计算有多少个 ...
- Codeforces 1458E - Nim Shortcuts(博弈论+BIT)
Codeforces 题目传送门 & 洛谷题目传送门 首先看到这样的题我们不妨从最特殊的情况入手,再逐渐推广到一般的情况.考虑如果没有特殊点的情况,我们将每个可能的局面看作一个点 \((a,b ...
- [源码解析] PyTorch 分布式 Autograd (5) ---- 引擎(上)
[源码解析] PyTorch 分布式 Autograd (5) ---- 引擎(上) 目录 [源码解析] PyTorch 分布式 Autograd (5) ---- 引擎(上) 0x00 摘要 0x0 ...
- 8.深入TiDB:解析Hash Join实现原理
本文基于 TiDB release-5.1进行分析,需要用到 Go 1.16以后的版本 我的博客地址:https://www.luozhiyun.com/archives/631 所谓 Hash Jo ...
- A Child's History of England.21
There was one tall Norman Knight who rode before the Norman army on a prancing horse, throwing up hi ...
- 论文解读(GraRep)《GraRep: Learning Graph Representations with Global Structural Information》
论文题目:<GraRep: Learning Graph Representations with Global Structural Information>发表时间: CIKM论文作 ...
- Mybatis相关知识点(二)
Mybatis解决jdbc编程的问题 1. 数据库连接创建.释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题. 解决:在SqlMapConfig.xml中配置数据连接池,使用 ...
- 大数据学习day39----数据仓库02------1. log4j 2. 父子maven工程(子spring项目的创建)3.项目开发(埋点日志预处理-json数据解析、清洗过滤、数据集成实现、uid回补)
1. log4j(具体见log4j文档) log4j是一个java系统中用于输出日志信息的工具.log4j可以将日志定义成多种级别:ERROR / WARN / INFO / DEBUG ...