Maven入门
Maven
Maven Wrapper
-
版本一致性:
-
- Maven Wrapper 允许你在项目中指定一个特定的 Maven 版本。这意味着所有开发人员和 CI/CD 环境都将使用相同版本的 Maven,从而避免由于版本不一致导致的问题。
-
简化设置:
-
- 新开发者克隆项目时,不需要手动安装 Maven。只需使用 mvnw(或 mvnw.cmd)脚本,系统会自动下载并使用项目指定的 Maven 版本。
- 只需要第一个创建文件的人wrap这个项目,后面的人甚至不需要有Maven
-
提高可移植性:
-
- 因为 Maven Wrapper 脚本是项目的一部分,所以无论在什么平台上(Windows、Linux、Mac OS),都可以一致地使用 Maven。这对于跨平台开发特别有用。
-
便于更新:
-
- 当需要更新 Maven 版本时,只需修改项目中的 pom.xml 文件并运行 mvn wrapper:wrapper,就能轻松实现所有开发人员和环境的升级。
-
减少环境问题:
-
- 由于 Maven Wrapper 可以自动下载正确的 Maven 版本,因此减少了由于环境差异(如不同操作系统、不同版本等)引起的问题。
对象模型(POM)
groupId
:标识组织或公司,通常是域名的反向形式(例如 com.jetbrains.marco
)。
artifactId
:项目的标识符,通常是项目名称(例如 maven-tutorial
)。
version
:项目的版本号,1.0-SNAPSHOT
表示这是一个开发中的版本。
依赖项:
<dependency><groupId>com.mpatric</groupId><artifactId>mp3agic</artifactId><version>0.9.1</version>
</dependency>
此后我不用手动下载和配置MP3库,它会自动从网站上下载,但要用的时候还是需要import。
IDEA中的插件Ctrl + Shift + M搜索maven,可以直接复制,非常方便。
指令
maven clean
:删除target文件
maven compile
:compile所有的src底下的main/java文件,放入target,
maven compile test
:先看main/java文件,再看test文件
mvn package
:在编译成功后,将项目打包成 .jar
或 .war
文件。
mvn test
:功能:编译项目的主代码和测试代码,并运行测试。
mvn install
:jar放入本地Maven储存库
所有操作都包括了前面的操作
clean compile test package install
Convention
src里有main和test
main里面有java和resource(放静态图片等)
test里有java也可以有resource
多模块
父项目
父项目的主要作用就是管理和聚合子项目(模块)。在 Maven 中,父项目提供了一种方式来集中管理多个子项目的依赖、插件和构建配置,减少重复配置,并确保所有子项目共享相同的构建环境和依赖版本。
他不会生成jar,他只有一个pom文件。
子项目中需要指定父项目(在packaging中,父项目是poem,子项目是jar)
相关文章:
Maven入门
Maven Maven Wrapper 版本一致性: Maven Wrapper 允许你在项目中指定一个特定的 Maven 版本。这意味着所有开发人员和 CI/CD 环境都将使用相同版本的 Maven,从而避免由于版本不一致导致的问题。 简化设置: 新开发者克隆项目时,…...

Chromium 中window.DOMParser接口说明c++
一、DOMParser DOMParser 可以将存储在字符串中的 XML 或 HTML 源代码解析为一个 DOM Document。 备注: XMLHttpRequest 支持从 URL 可寻址资源解析 XML 和 HTML,在其response 属性中返回Document。 你可以使用XMLSerializer 接口执行相反的操作 - 将…...

linux 安装gitlab
安装环境 CentOS 7.7 (centos6.10会报错)2g内存防火墙关闭 安装步骤: 1 安装gitlab # yum install -y git curl policycoreutils-python openssh-server # 安装依赖 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce…...

java基础(5)继承与多态
目录 编辑 1.前言 2.正文 2.1继承 2.1.1继承概念 2.1.2继承语法 2.1.3子类访问父类 2.1.4super关键字 2.2多态 2.2.1多态概念 2.2.2多态条件 2.2.3重写 2.2.4向上转型与向下转型 2.2.5为什么要使用多态 3.小结 1.前言 哈喽大家好啊,今天继续来为大…...

Flink消费Kafka实时写入Doris
本文模拟实际生产环境,通过FileBeat采集日志信息到Kafka,再通过Flink消费Kafka实时写入Doris。 文章目录 Filebeat采集日志到KafkaFlink消费Kafka实时写入Doris总结 Filebeat采集日志到Kafka 常见的日志采集工具有以下几种:Flume、Logstash和…...
实现Web QQ音乐打开现有新标签页切换音乐
若没有打开播放音乐标签页,则打开新标签页播放所选音乐如果已打开新标签页,则直接切换所选音乐 pageA.vue <script setup lang"ts"> const tab2 ref<any>(null); const router useRouter();interface Track {id: number;name: …...
从底层结构开始学习FPGA(15)----时钟结构(通俗版)
目录 0、前言 1、IO Bank和Clock Region(时钟区域)是一个东西吗? 2、时钟输入管脚 3、时钟架构 3.1、全局时钟BUFG 3.2、水平时钟BUFH 3.3、IO时钟BUFIO 3.4、区域时钟BUFR/BUFMR 4、总结 《从底层结构开始学习FPGA》目录与传送门 0、前言 我思来想去,总觉…...

MacOS Sublime Text 解决中乱码
1. 安装Package Control 官方安装指南 手动安装 通过以此点击菜单 Sublime Text > Preferences > Browse Packages 打开Packages目录找到Packages的同级目录Installed Packages下载PackageControl.sublime-package并保存到Installed Packages中在菜单 Sublime Text &g…...

Python画笔案例-084 绘制 3D立方体
1、绘制 3D立方体 通过 python 的turtle 库绘制 3D立方体,如下图: 2、实现代码 绘制 3D立方体,以下为实现代码: import turtle import timeviewfactor = 150 xshift = 0 yshift = 0 zshift = 50...
“八股文”面试:助力、阻力还是空谈?
在当今的IT行业,面试程序员时提及“八股文”已成为一种普遍现象。所谓“八股文”,通常指的是一系列固定的、标准化的面试问题及其解答,这些问题往往涵盖了计算机科学和软件工程的基础知识,以及一些流行的技术框架和算法。然而&…...

如何实现弹出式窗口
文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了Sliver综合示例相关的内容,本章回中将介绍PopupMenuButton组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的PopupMenuButton组件位于AppBar右侧,通常显示三个圆点图标,点击该图标…...
Lua 函数
Lua 函数 Lua 是一种轻量级的编程语言,广泛用于游戏开发、脚本编写和其他应用程序中。在 Lua 中,函数是一等公民,这意味着它们可以被存储在变量中,作为参数传递给其他函数,以及作为其他函数的返回值。本文将详细介绍 …...

HTML_文本标签
概念: 1、用于包裹:词汇、短语等。 2、通常写在排版标签里面。 3、排版标签更宏观(大段的文字),文本标签更微观(词汇、短语)。 4、文本标签通常都是行内元素。 常用的文本标签 标签名 全称 标签语义em Emphasized 加重(文本)。要着重阅…...

基于SpringBoot+Vue+uniapp的诗词学习系统的详细设计和实现(源码+lw+部署文档+讲解等)
详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不…...

健康睡眠的重要性
在快节奏的现代生活中,健康养生已成为人们日益关注的话题,而睡眠,这一看似平凡却至关重要的生理需求,往往被忽视在忙碌的缝隙中。今天,让我们深入探讨健康养生中的睡眠艺术,它不仅关乎身体的休息与恢复&…...

知道ip地址怎么看网络地址
在计算机网络的世界里,IP地址是设备之间通信的基础。然而,仅仅知道一个设备的IP地址并不足以完全理解它在网络中的位置和作用。网络地址,作为IP地址的一个重要组成部分,为我们提供了关于设备所属网络的更多信息。本文将深入探讨如…...

精心整理85道Java微服务面试题(含答案)
微服务 面试题 1、您对微服务有何了解? 2、微服务架构有哪些优势? 3。微服务有哪些特点? 4、设计微服务的最佳实践是什么? 5、微服务架构如何运作? 6、微服务架构的优缺点是什么? 7、单片࿰…...
MongoDB聚合管道(Aggregation Pipeline)
聚合管道(Aggregation Pipeline)是MongoDB中用于对数据进行处理和分析的一种强大机制。它由一系列的阶段(Stage)组成,每个阶段对输入的数据进行一种特定的操作,然后将结果传递给下一个阶段,就像…...
移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——6.vector(无习题)
C 中的 vector 容器详细总结 1. 什么是 vector? vector 是 C 标准模板库 (STL) 中的一种动态数组容器。它的底层实现是一个可以自动扩展的数组,支持随机访问和动态调整大小,是 C 中最常用的序列容器之一。vector 在插入、删除、遍历以及随机…...

SpringBoot技术支持的桂林景点导航
2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...