文章

Maven 解决Jar包版本冲突

今天遇到一个小问题。在使用apache-commons-codec包进行编码/解码的时候,用到了Base64类的decodeBase64(String base64String)方法,这个方法在1.4版中才提供。而我们的工程中对codec存在两个间接的依赖,一个依赖1.2版本,一个依赖1.4版本,打包后,只有1.2版本,所以会报找不到该方法的错误。

这个问题其实很好解决。在依赖1.2版本的项目上,排除对codec的间接依赖即可。如:

1
2
3
4
5
6
7
8
9
10
11
12
13
		<dependency>
          <!-- 你直接依赖的Jar包-->
			<groupId>AAA</groupId>
			<artifactId>AAA</artifactId>
			<exclusions>
				<exclusion>
                 <!-- 你想排除的间接依赖的Jar包-->
					<artifactId>xxx</artifactId>
					<groupId>xxx</groupId>
				</exclusion>
			</exclusions>
			<version>AAA</version>
		</dependency>

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

GESP 学习专题站:GESP WIKI

"luogu-"系列题目可在洛谷题库进行在线评测。

"bcqm-"系列题目可在编程启蒙题库进行在线评测。

欢迎加入Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答

欢迎加入C++ GESP/CSP认证学习QQ频道,考试资源总结汇总

欢迎加入C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
本文由作者按照 CC BY-NC-SA 4.0 进行授权