Java工程maven中排包exclude的操作

embedded/2024/9/25 11:17:50/

一、背景

在开发项目时依赖了新的jar包,结果工程启动时报错了,此时应该是包依赖冲突的问题。

二、确定冲突的依赖包

执行mvn clean install,通过报错信息来确定冲突的jar包信息

三、排除冲突包的方案

有两种冲突的情况:

1)新jar包和工程中老jar包的冲突

2)新jar包内部子jar包之间存在冲突

1、新老jar包冲突排除

whale-dao是加入前已在使用的jar包,ali-langengine-xx是后加入的jar包,现在需要排除ali-langengine-xx中冲突的jar包。

 <dependency><groupId>com.alibaba</groupId><artifactId>ali-langengine-vectorstore</artifactId><version>1.0.10-SNAPSHOT</version><exclusions><exclusion><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId></exclusion></exclusions></dependency>

2、新jar包内部子jar包之间冲突排除

此时的解法是:ali-language-core中排除掉冲突包,然后在外部再新加一个依赖包。

<dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.2</version>
</dependency><dependency><groupId>com.alibaba</groupId><artifactId>ali-langengine-core</artifactId><version>1.0.10-RELEASE</version><exclusions><exclusion><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId></exclusion></exclusions>
</dependency>


http://www.ppmy.cn/embedded/15474.html

相关文章

项目中文件大小写修改,git提交时被自动忽略怎么办

问题&#xff1a; 项目文件名为head 引入的文件名为Head 在部署时&#xff0c;有时候会识别大小写&#xff0c;导致部署失败&#xff0c;但是在项目中将head改为Head&#xff0c;git会默认忽略大小写的更改 解决方法&#xff1a; 在项目终端执行&#xff1a;git config core.…

数据结构-分治策略(分治算法)

分治算法 1.分治算法的核心思想 分治算法是一种解决问题的通用方法&#xff0c;它将一个复杂的大问题分解成若干个规模较小、相互独立且与原问题形式相同的子问题&#xff0c;然后递归地解决这些子问题&#xff0c;最后将子问题的解合并&#xff0c;得到原问题的解。 2.分治三…

Oracle中rman使用记录

最近在项目中&#xff0c;遇到使用RMAN的操作来恢复数据库中某个时间归档日志&#xff0c;RMAN的原理和理解&#xff0c;网友们百度了解一下。我重点将实操部分了。直接上实验环节&#xff0c;让网友更懂。&#xff08;特别提醒&#xff1a;我是1:1用VMware克隆数据库进行RMAN还…

C++的线程

#include<iostream> #include<thread> #include<unistd.h> using namespace std; void myrun() {while(true){cout<<"I am a thread"<<endl;sleep(1);} } int main() {thread t(myrun);t.join();return 0; } 如果不添加-lpthread就会报…

深入探讨负载均衡的原理及算法

在现代分布式系统中,负载均衡扮演着至关重要的角色。随着用户数量和流量的不断增长,单个服务器已经无法承担巨大的负载。因此,需要将负载分散到多个服务器上,以确保系统的高可用性、可扩展性和响应能力。负载均衡不仅可以提高系统的整体性能,还能够实现故障转移和灾难恢复,从而…

统一建模语言UML图

uml 图定义 Unified Modeling Language&#xff08;统一建模语言&#xff0c;UML&#xff09;是一种用于软件系统设计和建模的标准化语言。它提供了一套图形化的符号和约定&#xff0c;用于描述软件系统的结构、行为和交互&#xff0c;以及系统与外部环境之间的关系。UML通常用…

天人、人间、二神之间的宗教战争

文本&#xff1a;创世记 2-3、马太福音 23-24、启示录 12-13  天人、地球人和两位神之间的宗教战争是什么样的&#xff1f;  属天的&#xff08;天体&#xff09;是神&#xff08;创世记6&#xff09;&#xff0c;属地的&#xff08;地上的人&#xff09;是肉身。有两个主要的…

BERT论文阅读

一.前情提要 1.本文理论为主&#xff0c;并且仅为个人理解&#xff0c;能力一般&#xff0c;不喜勿喷 2.本文理论知识较为成体系 3.如有需要&#xff0c;以下是原文&#xff0c;更为完备 BERT 论文逐段精读【论文精读】_哔哩哔哩_bilibili 二.正文 1.前言&#xff1a; ①…