java之Maven

news2025/1/22 18:49:05

1. maven

Maven是管理和构建java项目的工具

  1. 项目依赖资源(jar包)的管理,避免版本冲突
  2. 统一项目结构
  3. 项目构建,标准跨平台(Linux,window,MacOS)的自动化项目管理

2.maven依赖仓库

在这里插入图片描述

2.maven安装

maven安装视频教程

在这里插入图片描述

3. IDEA集成Maven

在这里插入图片描述

4. maven的依赖范围

在这里插入图片描述

5. maven生命周期

在这里插入图片描述
执行后面的生命周期前面的阶段都会运行

6. maven高级

maven分模块开发设计
将项目按照功能拆开若干个子模块
方便项目维护,扩展和相互调用

父工程创建一个普通的maven项目即可
子工程在父工程中创建module即可

1. 创建maven工程,作为父工程,设置打包方式为pom(默认jar)
2. 创建module模块,选择父文件
3. 会自动在子工程的pom.xml文件中,配置好继承关系
4. 在父工程中配置各个工程的公共依赖,子工程会自动继承

7. 继承

maven继承
通过父工程中的配置信息
子工程去继承
简化依赖配置,统一管理依赖

注意事项
1. 如果是每个模块都需要的依赖,就配置在父工程
2. 如果只是一个模块需要,直接去模块里面配置依赖
3. 如果是多个模块需要,并不是所有模块需要,
 	可以通过dependencyManagement管理

例如
 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
<properties>
    <fastjson>2.0.32</fastjson>
</properties>

在这里插入图片描述

7. 聚合

用于快速构建项目

我的项目结构
在这里插入图片描述

在父工程的pom文件聚合,子工程
新版本创建module的时候选择好父工程会自动聚合。
  <modules>
    <module>sky-common</module>
    <module>sky-pojo</module>
    <module>sky-server</module>
  </modules>

在这里插入图片描述

8. 私服

解决团队内部的资源共享问题
解决同一局域网,不同项目组,资源共享
有这样的场景再按需学习
在这里插入图片描述

10. java的打包方式

jar 普通模块打包,springboot项目基本都是jar包(内嵌Tomcat运行)
war 普通web程序打包,需要部署在外部Tomcat服务器中运行
pom 父工程,该模块不写代码,进行依赖管理

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

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

相关文章

寒假作业——2/13

作业1 作业2 cp cp 当前的文件位置 复制到哪个位置 格式 : cp 路径/文件 路径/目录名/重新命名的目录名 mv mv 当前的文件位置 复制到哪个位置 格式 : mv 路径/文件 路径/目录名/重新命名的目录名 也可进行重命名操作 find 查找文件 find 目标路径 -name 文件名 后续…

猫头虎分享已解决Bug ‍ || 修改mongodb3.0副本集用户密码遇到 BeanDefinitionParsingException

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

LeetCode二叉树的垂序遍历

题目描述 给你二叉树的根结点 root &#xff0c;请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言&#xff0c;其左右子结点分别位于 (row 1, col - 1) 和 (row 1, col 1) 。树的根结点位于 (0, 0) 。 二叉树的 垂序遍历 从最左边的列开始直到…

VueCLI核心知识2:插件、自定义事件

1 插件 功能&#xff1a;增强Vue 1. 定义插件 2. 使用插件 2 自定义事件 一种组件间的通信方式&#xff1a;适用于 子组件 > 父组件 方式1&#xff1a;使用 或者v-on: <template><div id"app"><!-- 1.通过父组件给子组件绑定一个自定义事件实现…

【Java八股面试系列】并发编程-进程与线程

目录 进程 线程 线程和进程的区别 Java线程和操作系统的线程的区别 请简要描述一下进程和线程在Java中的关系&#xff0c;区别及优缺点&#xff1f;​编辑​编辑​编辑 并发和并行的区别 为什么要使用多线程? 线程的生命周期 什么是线程上下文切换? sleep() 方法和…

STM32自学☞定时器定时中断案例

timer_interrupt.c文件 /* 初始化函数编写步骤&#xff1a; 1.打开时钟 2.选择时基单元的时钟源&#xff08;内部时钟源&#xff09; 3.配置时基单元 4.NVIC配置 5.启动定时器 */ #include "stm32f10x.h" #include "stm32f10x_tim.h" #include …

python -m SimpleHTTPServer mac报错

错误内容&#xff1a; Traceback (most recent call last):File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main"__main__", fname, loader, pkg_name)File "/System/Libra…

C#,21根火柴棍问题(21 Matchticks Problem)的算法与源代码

一、21根火柴棍问题&#xff08;21 Matchticks Problem&#xff09; 21根火柴棍问题是西方经典游戏之一。 给定21根火柴&#xff0c;2个人A和B&#xff08;比如&#xff1a;分别是计算机和用户&#xff09;。 每个人一次可以挑选 1-- 4 根火柴。 被迫挑最后一根火柴的人输了…

Blender教程(基础)-顶点合并-18

一、常规合并 准备&#xff0c;新建一个圆环8个点、全选顶点采用F填充&#xff0c;采用J链接多个顶点如下图所示图形。 选择其中一个顶点 按字母GG、移动到离另外一个顶点更近。再选中两个顶点&#xff0c;右键弹出合并顶点>到中心 二、重叠合并 回退回去 按字母G…

Google Cloud 2024 年报告重点介绍了关键的网络威胁和防御

Google Cloud 的 2024 年威胁范围报告预测了云安全的主要风险&#xff0c;并提出了加强防御的策略。 该报告由 Google 安全专家撰写&#xff0c;为寻求预测和应对不断变化的网络安全威胁的云客户提供了宝贵的资源。 该报告强调&#xff0c;凭证滥用、加密货币挖矿、勒索软件和…

HarmonyOS 横屏调试与真机横屏运行

我们有些程序 需要横屏才能执行出效果 我们在预览器上 点击如下图指向出 就进入一个横屏调试了 但 我们真机运行 依旧是竖着的 我们如下图 找到 module.json5 在 abilities 下面 第一个对象 最下面 加上 "orientation": "landscape"然后 我们再真机运…

【Python网络编程之Ping命令的实现】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Python开发技术 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; Python网络编程之Ping命令的实现 代码见资源&#xff0c;效果图如下一、实验要求二、协议原理2…

【好玩AI】【Prompt】快情人节了,用GPT写个【渣男模拟器】练习一下与女神的对话吧

情人节了&#xff0c;让我们用GPT写个【渣男模拟器】的机器人跟自己对话&#xff0c;来练习一下与女神的对话吧。 通过本文&#xff0c;你能学到&#xff1a; 1. 如何利用智谱清言平台零代码搭建一个自己的机器人Bot 通过本文&#xff0c;你还能学到&#xff1a; 怎么做一个渣男…

【51单片机】矩阵键盘(江科大)

6.1矩阵键盘 矩阵键盘&#xff1a; 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式 采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态 1.数码管扫描(输出扫描) 原理:显示第1位→显示第2位→显示第3位→ …… ,然后快速循环这个过程,最终实现所…

C++实现二分查找

目录 例1 例2 例3 例4 例5 例6 例1 704. 二分查找 注意&#xff1a; ①left < right,这里的号是最后一次通过下标mid来判断 ②在偶数的时候mid&#xff0c;左右无所谓&#xff0c;因为left和right都有1&#xff1b; 参考代码 class Solution { public:int search…

Mac上新版InfluxDB使用教程

一、简介 官网&#xff1a;influxdb 二、influxdb安装 建议使用Homebrew在 macOS 上安装 InfluxDB v2&#xff1a; brew install influxdb启动influxdb服务&#xff1a;brew services start influxdb 停止influxdb服务&#xff1a;brew services stop influxdb 查看是否启…

(三十五)大数据实战——Superset可视化平台搭建

前言 本节内容是关于Apache Superset可视化平台的搭建&#xff0c;Apache Superset是一个现代的数据探索和可视化平台 。它功能强大且十分易用&#xff0c;可对接各种数据源&#xff0c;包括很多现代的大数据分析引擎&#xff0c;拥有丰富的图表展示形式&#xff0c;并且支持自…

「Linux」软件安装

MySQL5.7在CentOS安装 安装 配置yum仓库 更新密钥&#xff1a;rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022安装MySQL yum库&#xff1a;rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm使用yum安装MySQL&#xff1a;yum -y in…

原神4.0.1单机版【开局满级】纯单机,无限原石材料

版本介绍 版本4.0.1稳定版【过分追新并不稳&#xff0c;合理才完美】 独家原神&#xff0c;游戏内自带剧情任务&#xff0c;完美仿官&#xff0c;一比一完美复制&#xff01; 已经拥有完美剧情、任务、副本、卡池、深渊、全物品、和全部功能和皮肤。 修改注意 如果要进行不…

线性代数的本质——1 向量

向量是线性代数中最为基础的概念。 何为向量&#xff1f; 从物理上看&#xff0c; 向量就是既有大小又有方向的量&#xff0c;只要这两者一定&#xff0c;就可以在空间中随便移动。 从计算机应用的角度看&#xff0c;向量和列表很接近&#xff0c;可以用来描述某对象的几个不同…