Maven学习笔记

news2024/11/22 16:14:52
  • Maven
    • Maven是一个项目管理工具
    • 依赖管理
      • 传统工程中我们直接把jar包放在项目中
      • maven工程真正的jar包放在仓库中,项目中只防止jar包的坐标
    • 一键构建
      • maven自身集成了tomcat插件,可以对项目进行编译、测试、打包、安装、发布等操作
    • 仓库的种类
      • 本地仓库
      • 远程仓库【私服】
      • 中央仓库
    • 仓库之间的关系
      • 当我们启动一个maven工程的时候,maven工程会通过pom文件中jar包的坐标去本地仓库找对应jar包
      • 默认情况下,如果本地仓库没有对应jar包,maven工程会自动取中央仓库下载jar包到本地仓库
      • 在公司中,如果本地没有jar包,会先从私服下载jar包
      • 如果私服没有jar包,可以从中央仓库下载,也可以从本地上传
    • maven常见命令
      • clean
      • compile
      • test
      • package
      • install
      • deploy
    • maven三套生命周期
      • 清理生命周期
      • 默认生命周期
      • 站点生命周期
    • 直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包
    • 传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中
    • 解决jar包冲突
      • 方式一:第一声明优先原则,哪个jar包的坐标在靠上的位置,这个jar包就是先声明的,先声明的jar包坐标下的依赖包,可以优先进入项目中
      • 方式二:路径近者优先原则,直接依赖路径比传递依赖路径近,那么最终项目进入的jar包会是路径近的直接依赖包
      • 方式三:直接排除法(推荐):当我们要排除某个jar包下的依赖包,在配置exclusion标签的时候,内部可以不写版本号,因为此时依赖包使用的版本默认和本jar包一样
    • 为了防止依赖jar包被覆盖,可以把依赖的主要jar包的坐标用dependencyManagement锁住
    • maven解决代码可重用和便于维护的问题上是这么解决的
      • maven把一个完整的项目分成不同的独立模块,这些模块都有各自独立的坐标。哪个地方需要其中某个模块,就直接引用该模块的坐标即可
      • 如果今后公司开发一个新项目,我们先考虑问题不是dao、service、utils、domain如何编写,我们要考虑的是dao、service、utils、domain这些模块是否已经存在,如果存在直接引用
      • 我们可以把拆分零散的模块聚合到一起编写成一个完整的项目,这就是maven聚合的思想
    • 一个完整的项目看的是代码,代码完整就可以说是一个完整的项目,跟此项目是工程还是模块没有关系
    • 工程天生只能使用自己内部资源,工程是天生独立的,后天可以与其他工程或模块建立关联关系
    • 模块天生不是独立的,模块天生是属于父工程的,模块一旦创建,所有父工程的资源都可以使用
    • 子模块之间天生是没有任何关系的
    • 父子工程之间不用建立关系,继承关系是先天的,不需要手动建立
    • 平级之间的引用叫依赖,依赖不是天生的,依赖是需要后天建立的
    • 在这里插入图片描述
    • 实际开发中,如果依赖传递丢失,表示形式就是jar包的坐标导不进去,我们的做法就是直接再导入一次
    • maven父子工程的三种启动方式
      • 父工程直接启动
      • web模块install后启动
      • 本地tomcat启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业论文java毕业设计选题源代码ssm校园兼职系统|求职招聘系统

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 3.1 需求分析 校园兼职系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能&am…

人工智能与机器学习

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 人工智能与机器学习📝人工智能相关概念☞什么是人工智能、机器学习、深度学习☞人工智能发…

思科防火墙NAT——实验

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 1.实验 防火墙配置 其他配置 前言 本章将会讲解思科NAT配置的…

记一次 .NET 某工控软件 内存泄露分析

一:背景 1.讲故事 上个月 .NET调试训练营 里的一位老朋友给我发了一个 8G 的dump文件,说他的程序内存泄露了,一时也没找出来是哪里的问题,让我帮忙看下到底是怎么回事,毕竟有了一些调试功底也没分析出来,…

Hash与ZSet的常用命令以及其底层数据结构

目录hash类型命令hsethgethmsethmgethgetallhsetnxhdelhexitshincrby与hincrbyfloathkeys与hvalshlenhstrlen有序set型命令zaddzrange 与zrevrangezrangebyscore与zrevrangebyscorezcardzcountzscorezincrbyzrank 与 zrevrankzremzremrangebyrankzremrangebyscorezrangebylexzl…

MySQL学习笔记(十四)索引失效有哪些情况?

1.表和数据 CREATE TABLE t_user (id bigint(32) NOT NULL AUTO_INCREMENT,user_name varchar(40) DEFAULT NULL COMMENT 用户名,user_code varchar(40) DEFAULT NULL COMMENT 用户编号,phone varchar(11) DEFAULT NULL COMMENT 电话,age tinyint(3) DEFAULT NULL COMMENT 年龄…

微机----------------中断技术

目录 中断概述中断处理过程中断请求中断响应中断处理8086/8088中断中断类型中断优先级顺序⭐中断向量表中断处理过程中断概述 中断: 当CPU执行程序时,由于随机的事件引起CPU暂时停止正在执行的程序,而转去执行中断服务程序,处理完后又返回被终止的程序断点处继续执行,这个…

Bug系列路径规划算法原理介绍(四)——I-BUG 算法

本系列文章主要对Bug类路径规划算法的原理进行介绍,在本系列的第一篇文章中按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展,整理了13种BUG系列中的典型算法,从本系列的第二篇文章开始依次详细介绍了其中具有代表性的BUG1、BUG2、…

数学基础从高一开始2、集合间的基本关系

高中数学人教 A 版必修一 集合间的基本关系 学习目标: (1)初步理解集合之间的包含与相等的含义; (2)能识别给定集合的子集和真子案,了解空集含义: (3)能进行自然语言、图形语言(Venn 图)、符号语言闻的转换,积萦抽象思维的经验, …

递归算法(及其衍生算法:缓存,分治,回溯)

文章目录一、初识递归二、缓存三、分治四、回溯一、初识递归 递归函数 终止条件 递归关系 终止条件: 当大问题被拆解成能轻松解决的小问题时,运行终止条件中的逻辑 递归关系: 定义如何将大问题拆解为小问题 例子:小名跑步。 …

这十一个副业在家就可以完成,疫情在家也有收入,建议收藏

2022年,谁还没有副业? 经过两年的疫情,我们都知道没有钱是一件非常不舒服的事情。现在的做法是:主营业务要求稳定,副业要求发展;好好发展副业是硬道理。 在过去的两年里,我一直在探索副业项目…

(六)Vue之数据代理

文章目录回顾Object.defineProperty方法数据属性valueenumerablewritableconfigurable访问器属性get()set(v: any)何为数据代理Vue中的数据代理Vue学习目录上一篇:(六)Vue之MVVC 回顾Object.defineProperty方法 Object.defineProperty方法的…

Chain Surfase Test - java 链表经典 OJ 面试题 - 巨细

效果图 LeetCode - 206. 反转链表 代码如下: /** Definition for singly-linked list. public class ListNode { int val;ListNode next;ListNode() {}ListNode(int val) { this.val val; }ListNode(int val, ListNode next) { this.val val; this.next next; …

K-Means++代码实现

K-Means代码实现 数据集 https://download.csdn.net/download/qq_43629083/87246495 import pandas as pd import numpy as np import random import math %matplotlib inline from matplotlib import pyplot as plt# 按文件名读取整个文件 data pd.read_csv(data.csv)class…

Minikube – 配置 Jenkins Kubernetes plugin

文章目录1. 配置 kubernetes credentials2. 安装 kubernets plugin3. 安装 docker 插件4. 连接 minikube 集群5. Pod template 参数6. Container template 参数7. 实例7.1 创建一个简单 pod7.2 pod name 变化7.3 指定 namespace7.4 volumes 挂载7.5 Liveness Probe 探针7.6 创建…

关于l2实时接口的功能分析

因为国内外股价的上涨都可以在界面上去查询,所以公司能准确地判断股价上涨,并适时买入、卖出,以此获得一定的利润。 l2实时接口还可以把以往的数据表示成一条折线,让公司在进行分析时更形象、更有参考意义。在连接界面后&#xf…

[附源码]Python计算机毕业设计Django校园订餐系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

星环科技TDS 2.4.0 发布: 数据开发、数据治理、数据运营套件能力再次升级

近日,星环科技大数据开发工具 Transwarp Data Studio 2.4.0版本重磅发布,新版本中数据开发、数据治理、数据运营三大套件能力全部升级,让数据开发更便捷、数据治理更高效、数据运营更智能。本次升级的核心能力如下: 数据开发套件…

【Opencv实战】高手勿入,Python使用Opencv+Canny实现边缘检测以及轮廓检测(详细步骤+源码分享)

前言 有温度 有深度 有广度 就等你来关注哦~ 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 在这次的案例实战中,我们将使用Python 3和OpenCV。我们将使用OpenCV,因为它是…

谷歌牛人发布小说式《算法图解》,竟被人扒下来,在GitHub开源了

今天给大家带来了一本算法方向的好书:巴尔加瓦(Aditya Bhargava)老师 著,袁国忠老师译的 《算法图解:像小说一样有趣的算法入门书》,网上有没有开源版本我不知道,我就看他内容不错所以推荐给大家…