Maven:详解 clean 和 install 命令的使用
clean的主要功能是清理项目构建过程中生成的所有临时文件和输出文件。具体来说,clean阶段会删除target目录及其所有内容。
clean 阶段的具体功能
-
删除
target目录:target目录是 Maven 构建过程中默认的输出目录,存放所有构建生成的文件,如编译后的.class文件、打包后的 JAR/WAR 文件、报告文件等。mvn clean命令会彻底删除target目录及其所有内容,确保所有的构建输出都被清除。
-
清理临时文件:
- 除了删除
target目录之外,clean阶段还会清理项目中可能存在的其他临时文件和目录,确保项目在开始新的构建之前处于一个干净的状态。
- 除了删除
使用场景
-
重新构建项目:
- 当你希望从零开始构建项目时,通常会先执行
mvn clean,然后再执行其他构建命令(如mvn compile、mvn package等)。这样可以确保之前的构建结果不会影响到新的构建。
- 当你希望从零开始构建项目时,通常会先执行
-
排除问题:
- 如果你在构建过程中遇到问题,或者发现构建结果不符合预期,可以使用
mvn clean清理项目,然后重新构建,以排除之前构建过程中可能产生的问题。
- 如果你在构建过程中遇到问题,或者发现构建结果不符合预期,可以使用
-
确保一致性:
- 在进行持续集成和部署时,清理项目可以确保每次构建都是从头开始的,避免因历史构建结果导致的意外问题。
总结
mvn clean 命令的主要功能是清理项目构建过程中生成的所有临时文件和输出文件,确保项目在开始新的构建之前处于一个干净的状态。它是 Maven 构建过程中一个非常有用的工具,特别是在重新构建项目或排除构建问题时。
install的主要功能是将当前项目打包并安装到本地仓库中,包括compile(编译)、test(测试)和package(打包),以便其他项目可以引用它。本地仓库是 Maven 在本地计算机上用于存储依赖项和构建成果的目录。
install 阶段的主要功能
-
打包项目:
mvn install命令首先会执行 Maven 生命周期中的前期阶段,包括compile(编译)、test(测试)和package(打包)。因此,它会确保项目代码被编译、测试并打包成 JAR、WAR 或其他格式。
-
将打包的文件安装到本地仓库:
- 在打包完成后,
install阶段会将生成的包(例如 JAR 或 WAR 文件)复制到 Maven 的本地仓库中。 - 本地仓库通常位于用户主目录下的
.m2/repository目录。例如,在 Linux 或 macOS 上,默认路径是~/.m2/repository。 - 在这个仓库中,Maven 会根据项目的 groupId、artifactId 和 version 来组织文件结构,确保项目可以被其他项目作为依赖引用。
- 在打包完成后,
-
方便本地其他项目引用:
- 当你开发多个相互依赖的模块时,
install阶段非常有用。通过将某个模块安装到本地仓库,其他模块可以通过 Maven 的依赖机制引用它。 - 例如,如果项目 A 依赖项目 B,你可以在项目 A 的
pom.xml中声明对项目 B 的依赖,只要项目 B 已经被安装到本地仓库,Maven 可以自动解析并使用它。
- 当你开发多个相互依赖的模块时,
使用场景
-
模块化项目:
- 当你开发一个由多个子项目(模块)组成的项目时,通常需要先将子项目
install到本地仓库,以便其他子项目可以引用它。例如,项目 A 依赖于项目 B,那么你需要先对项目 B 执行mvn install,然后项目 A 才能正确构建。
- 当你开发一个由多个子项目(模块)组成的项目时,通常需要先将子项目
-
本地测试:
- 如果你想在本地环境中测试项目的构建成果,或者你想确保项目的打包和依赖解析都正常工作,你可以执行
mvn install。这样不仅会构建项目,还会将构建结果保存在本地仓库中,供其他项目或模块使用。
- 如果你想在本地环境中测试项目的构建成果,或者你想确保项目的打包和依赖解析都正常工作,你可以执行
-
持续集成环境:
- 在持续集成(CI)环境中,通常也会执行
mvn install来确保项目的构建、测试和打包都成功,并且将生成的包存储在本地仓库中,以供后续的部署或集成测试使用。
- 在持续集成(CI)环境中,通常也会执行
总结
mvn install 命令的主要功能是将当前项目打包并安装到本地仓库中,以便其他项目可以引用它。
此命令会执行 Maven 生命周期中的以下阶段:
compile:编译项目源代码。test:运行项目中的单元测试。package:将项目打包成 JAR、WAR 或其他格式。install:将打包好的文件复制到本地仓库。
它通常用于模块化项目开发、本地测试和持续集成环境。通过将项目安装到本地仓库,Maven 可以有效地管理项目之间的依赖关系,并确保构建过程的顺利进行。
相关文章:
Maven:详解 clean 和 install 命令的使用
clean 的主要功能是清理项目构建过程中生成的所有临时文件和输出文件。具体来说,clean 阶段会删除 target 目录及其所有内容。 clean 阶段的具体功能 删除 target 目录: target 目录是 Maven 构建过程中默认的输出目录,存放所有构建生成的文件…...
HTTP与RPC
一、概念 HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,主要用于在Web服务器之间传输html页面和其他Web资源。 RPC(Remote Procedure Call,远程过程调用) 是一种通用的远程调用通信协议&#…...
解决蓝牙键盘按键错乱的问题
最近发现我的蓝牙键盘按下的键盘与实际不符,于是就上网搜索答案,网上的方法都试了一遍 最后想着准备退货,没想到客服直接给我解决了 原因很简单,就是之前误触了键盘的某些按键导致的 每个键盘品牌的按键因该都不同的,可…...
MiL.k X Biggie 奇妙宇宙来袭!
MiL.k 和亚航奖励计划联手推出 MiL.k X BIGGIE 奇妙宇宙,为亚航会员和 MiL.k 用户提供神奇的 Web3 体验。这款沉浸式体验位于 The Sandbox 的 MiL.k Land,提供趣味游戏,解锁令人兴奋的新奖励。 亚航吉祥物 BIGGIE 和他友好的机舱服务员将引导…...
云服务器中删除非空目录(包含文件和子目录)rm -rf <directory_name>
在云服务器中删除目录可以使用 rm 命令。如果您需要删除一个非空目录(包含文件和子目录),可以使用以下命令: rm -rf <directory_name>参数解释: -r:递归删除,即删除目录及其所有内容&am…...
1991-2024年经管类国自然、国社科立项名单(附68份国自然标书)-最新出炉 附下载链接
很全!1991-2024年经管类国自然、国社科立项名单(附68份国自然标书) 下载链接-点它👉👉👉:很全1991-2024年经管类国自然、国社科立项名单(附68份国自然标书).zip 资源介…...
Flutter问题记录 - 布局中莫名其妙的白线/缝隙
文章目录 前言开发环境问题描述问题分析解决方案最后 前言 最近客服反馈了一个奇怪的问题,有个用户反馈其他问题时给了应用截图,然后他发现这截图中有一条奇怪的白线。他在自己手机上没有发现这个问题,于是提工单反馈到我这。 开发环境 Fl…...
从零学习大模型(七)-----LoRA(中)
自注意力层中的 LoRA 应用 Transformer 的自注意力机制是模型理解输入序列之间复杂关系的核心部分。自注意力层通常包含多个线性变换,包括键(Key)、查询(Query) 和 值(Value) 三个权重矩阵的线…...
Java知识巩固(十二)
I/O JavaIO流了解吗? IO 即 Input/Output,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因…...
一家光伏企业终止,恐不具行业代表性,市占率仅为2.35%
海达光能终止原因如下:报告期内海达光能销售金额较所在行业第二名亚玛顿相差两倍以上,公司毛利率更是远低于行业龙头福莱特,恐难以说明公司行业代表性。在企业竞争上,公司2021年度的市场占有率约为2.35%,公司未来光伏玻…...
企业计算机监控软件是什么?6款电脑监控软件分享!提升企业管理效率,吐血推荐!
嘿,各位企业管理者和IT小伙伴们! 您是否曾担忧员工在工作时间内效率低下?是否对公司的数据安全感到不安? 别担心,今天我们就来聊聊企业计算机监控软件,它就像是企业的"超级侦探",帮…...
VisionPro —— CogOCRMaxTool工具详解
CogOCRMaxTool的作用: CogOCRMaxTool:是一个字符识别工具,主要用于字符识别,它能够根据已训练的字符样本读取灰度图像中的字符,并返回读取结果。 一:工具位置 二:添加图片 三:工具的初始页面 将识别框拖到需要识别处…...
网站安全问题都有哪些,分别详细说明
网站安全问题涉及多个方面,以下是一些常见的网站安全问题及其详细说明: 数据泄露 问题描述:数据泄露是指网站存储的用户敏感信息(如用户名、密码、信用卡信息等)被非法获取。黑客可能通过SQL注入、XSS攻击等手段窃取这…...
DiskGenius一键修复磁盘损坏
下午外接磁盘和U盘都出现扇区损坏,估计就是在开着电脑,可能是电脑运行的软件还在对磁盘进行读写,不小心按到笔记本关机键,重新开机读写磁盘分区变得异常卡顿,估摸就是这个原因导致扇区损坏。在进行读写时,整…...
Matlab实现鼠群优化算法优化回声状态网络模型 (ROS-ESN)(附源码)
目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 鼠群优化算法(Rat Swarm Optimization, ROS)是一种基于老鼠群体行为的群体智能优化算法。ROS通过模拟老鼠在寻找食物时的聚集、分散和跟随行为,来探索解空间并寻找最优解。该算…...
nfs作业
一、作业要求 1、开放/nfs/shared目录,供所有用户查询资料 2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录, 并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210 3、将/home/tom目录仅共享给192.168.xxx.xxx这台…...
Linux 基础io_理解文件系统_软硬链接_动静态库
一.磁盘 1.磁盘物理结构 盘片 磁盘可以有多个磁片,每个磁片有两个盘面,每个盘面都对应一个磁头,都可以存储数据。 磁道 扇区 磁道是指在盘面上,由磁头读写的数据环形轨道。每个磁道都是由一圈圈的圆形区域组成,数据…...
大语言模型参数传递、model 构建与tokenizer构建(基于llama3模型)
文章目录 前言一、传递参数构建1、构建模型参数2、构建数据参数3、构建训练参数4、类似parse方式解析数据、模型、训练参数五、构建tokenizer与model1、tokenizer与model调用代码2、tokenizer实现2、model实现前言 上一篇说到huggingface的参数传递理论方法,本篇文章应用与ll…...
使用 `screen` + `nohup` 实现高效日志记录和多环境任务管理
使用 screen nohup 实现高效日志记录和多环境任务管理 在深度学习模型训练中,特别是在服务器上运行长时间的任务时,有效的任务管理和日志记录至关重要。我们通常需要在后台运行多个任务,同时为每个任务配置不同的 conda 环境。通过结合使用…...
【探索数字孪生,引领未来技术】
在数字化浪潮的推动下,数字孪生技术正成为连接虚拟与现实的桥梁,它不仅是工业互联网的基石,更是智慧城市、智慧园区、智慧楼宇以及元宇宙构建的核心。为了帮助更多专业人士掌握这一前沿技术,我们荣幸地宣布,“新质技术…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
