IDEA中使用Maven打包及碰到的问题

news2024/12/24 10:42:15
1. 项目打包

IDEA中,maven打包的方式有两种,分别是 install 和 package ,他们的区别如下:

install 方式

install 打包时做了两件事,① 将项目打包成 jar 或者 war,打包结果存放在项目的 target 目录下。② 同时,本地仓库的目录中,也会留存一份该打包结果,目的是供其它项目或者模块引用。

install命令应用场景:当前项目是公共模块或者需要集成到其它项目(模块)中使用。

注意:本地仓库中的 jar 包并不会自动更新,除非我们再次执行 install 命令。这就意味着,如果我们修改了某个公共项目,那么其它有引用到该公共项目的模块或项目在打包之前,必须要先对该公共项目执行 install 命令重新打包,这样本地仓库中原有的 jar 包才会被更新掉,否则,其它模块或项目引用到的还是原来的 jar 包。

package 方式

package 打包时只做一件事,就是将项目打包成 jar 或者 war,打包结果存放在项目的 target 目录下。可以这么认为,package 命令是 install 命令的一个子级,只完成了 install 命令一半的工作。大部分应用场景下,我们使用 package 命令对项目进行打包即可。

2. 父级yml文件修改后不生效

在实际项目开发中,我们可能会碰到父级yml文件修改后不生效的问题,该问题通常发生在多模块环境中。

假设有一个业务模块A需要打包,但是模块A依赖一个公共的模块B,如果模块B中的 yml 文件被修改过,那么A模块中引用到的B模块jar包大概率还会是之前老的 jar 包。产生这个问题的根本原因是:模块依赖包对应的jar包文件位于maven仓库目录下,并且这个目录下的jar包文件不会自动更新。那么如何才能引用到最新的B模块中的jar包呢?其实很简单,我们只需要将模块B手动重新安装就可以了,具体如下:

在maven工具栏,找到公共模块B,先执行clean操作,然后再执行install操作即可。

如图:

安装成功后,我们将会看到,maven的仓库目录下,已经生成了最新的依赖jar包。

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

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

相关文章

Kamailio-SIP代理服务器单节点的安装与部署

使用背景:存在 Freeswitch 等语音网关应用服务,期望实现负载均衡、前置处理的功能,类似于Web应用服务的Nginx的角色 市场调研,发现了几家颇受欢迎的开源产品: KamailioOpenSIPSAsterisk Kamailio和OpenSIPS由于其灵…

vlan基础相关

7.2以太网交换基础 数据链路层也叫2层网络,用的是Mac地址,想到Mac地址就要想到交换机。 以太网协议(LAN)以太网是建立在CSMA/CD载波监听多路访问/冲突检测,机制上的广播型网络。CSMA工作原理是先监听,在介…

《C++20设计模式》适配器模式经验分享

文章目录 一、前言二、对于接口的讨论三、实现1、对象适配器1.1 UML类图1.2 实现 2、类适配器 四、最后 一、前言 从适配器模式开始就是类的组合聚合,类与类之间结构性的问题了。 适配器模式解决的问题: 适配器模式能够在不破坏现有系统结构的情况下&a…

震惊!张宇强化36讲1200页,暑期强化高效利用指南!

特别喜欢张宇老师的讲课风格 如果你打算跟张宇老师,那么基础——>强化——>冲刺,你应该这么买书! 张宇老师25版课程大改版,其中,36讲的变动是最大的,张宇老师25版课程把以往的强化课程前移&#xff0…

Lumière:开创性的视频生成模型及其应用

视频内容创造领域迎来了突破性进展,但视频生成模型由于运动引入的复杂性而面临更多挑战。这些挑战主要源自运动的引入所带来的复杂性。时间连贯性是视频生成中的关键要素,模型必须确保视频中的运动在时间上是连贯和平滑的,避免出现不自然的跳…

法国工程师IMT联盟 密码学及其应用 2023年期末考试补考题

1 JAVA 安全 1.1 问题1 1.1.1 问题 用 2 或 3 句话解释 Java 执行模型(Java 虚拟机machine virtuelle Java))中引入introduit沙箱bac sable机制 mcanisme d’excution par isolation的目的。 1.1.2 问题解释 在 Java 执行模型(Java 虚拟机…

带电池监控功能的恒流直流负载组

EAK的交流和直流工业电池负载组测试仪对于测试和验证关键电力系统的能力至关重要,旨在实现最佳精度。作为一家客户至上的公司,我们继续尽我们所能应对供应链挑战,以提供出色的交货时间,大约是行业其他公司的一半。 交流负载组 我…

Python面试宝典第4题:环形链表

题目 给你一个链表的头节点 head ,判断链表中是否有环。如果存在环 ,则返回 true 。 否则,返回 false 。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&#xf…

基于多视点编码光场的全景三维重建方法

欢迎关注GZH《光场视觉》 摘要:在基于光场的一系列应用中,目标的三维重建是基础且关键的任务。普通光场只能重建单一视角而无法重建全景,并且在纹理特征匮乏的区域也无法生成准确的三维信息。针对以上问题,提出一种基于多视点编码…

端口被占用的解决办法、netstat命令;Linux ps命令详解,Linux查看进程

文章目录 一、端口被占用的原因二、端口被占用的解决方法2.1 Windows系统2.2 Linux系统 三、Linux命令补充3.1 Linux查看端口占用情况3.2 netstat命令详解3.3 ps命令3.3.1 常用命令3.3.2 拓展命令3.3.3 字段补充 运行软件或程序时,有时会出现以下问题、导致运行失败…

JavaScript中的立即执行函数表达式(Immediately Invoked Function Expression, IIFE)

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介JavaScript中的立即执行函数表达式(Immediately Invoked Function Expression, IIFE)1. 引言2. IIFE的概念2.1 概述2.2 语法2.3 历史背景 3. IIFE的作用3.1 创建独立作用域3.2 模块化代码3.3 防止变量提升3.…

我不小心把生产的数据改错了!同事帮我用MySQL的BinLog挽回了罚款

之前在生产做修改数据的时候不小心改错了一行数据,本来以为会被通报批评,但是同事利用binlog日志查看到了之前的旧数据,并且帮我回滚了,学到了,所以写了一篇binlog的文章分享给大家。 MySQL的Binary Log(简…

CentOS 7 停止维护(2024-6-30)后可用在线yum源 —— 筑梦之路

众所周知,centos 7 在2024年6月30日,生命周期结束,官方不再进行支持维护,而很多环境一时之间无法完全更新替换操作系统,因此对于yum源还是需要的,特别是对于互联网环境来说,在线yum源使用方便很…

标注比赛一种计分方法

这段时间试着在公司内部举办一场图片标注大赛,我负责制定规则,挑选比赛素材。这几天试了一种得分计算方法,结果尚可。利用我司研发的标注工具,我们很容易就可以得出下图结果。 这个结果中的标注框其实就是标准答案,漏检…

面向物联网行业的异常监控追踪技术解决方案:技术革新与运维保障

在现代高度数字化和互联的环境中,物联网技术已经深入到我们生活的方方面面。特别是在家庭和工业环境中,物联网系列通讯作为连接各类设备的关键枢纽,其稳定性和可靠性显得尤为重要。本文将介绍一种创新的监控系统,旨在实时跟踪和分…

无人机基础知识(模式篇)

姿态模式:姿态模式通常是在GPS模式无法使用的情况下进行操作的模式。通过操作杆对无人机进行操控,姿态模式下无人机只能提供自稳,不提供定点悬停,受外界影响很大; GPS模式:GPS模式通俗一点就是依靠GPS将无…

电路笔记(PCB):电流容量(IPC-2221和IPC-2152)+阻抗匹配

电流容量 IPC-2221经验公式 I K T b A c IK\times T^{b}\times A^{c} IKTbAc 这个公式用于估计PCB(Printed Circuit Board,印刷电路板)导线上的电流(I),其中T和A分别表示温度(Temperature&a…

SQL语句(DDL)

关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库 SQL语句 DDL-数据库操作 DDL-表操作-查询 DDL-表操作-创建 创建一个名为tb_user的表 mysql> use itheim; Database changed mysql> create table tb_user(-> id …

Python基础入门知识

目录 引言 简要介绍Python语言 为什么要学习Python Python的应用领域 Python安装和环境配置 Python的下载和安装(Windows, macOS, Linux) 配置Python环境变量 安装和使用IDE(如PyCharm, VS Code) Python基本语法 注释 变量和数据类型(数字,字符串,列表,元组,字典,…

【CUDA】 由GPGPU控制核心架构考虑CUDA编程中线程块的分配

GPGPU架构特点 由于典型的GPGPU只有小的流缓存,因此一个存储器和纹理读取请求通常需要经历全局存储器的访问延迟加上互连和缓冲延迟,可能高达数百个时钟周期。与CPU通过巨大的工作集缓存而降低延迟不同,GPU硬件多线程提供了数以千计的并行独…