jar包冲突引起的java.lang.NoClassDefFoundError
程序员文章站
2024-03-26 09:10:05
...
1.项目中用到 httpclient-4.3.jar 和 httpcore-4.3.jar,和http4was8.5.jar冲突,导致服务器编译的时候,不知道去找哪一个jar包里面的类。
报错如图所示:
2.由于项目没有采用maven管理,只能手动修改jar包下的package路径。mvnrepository.com是很好的jar包下载地址,工具包地址: jarjar » 1.3。
原jar包package路径如下图:
新建rule.txt,命令如下:
rule org.apache.http.** aaa@qq.com
在当前目录下,shift+右键,在此处打开命令行窗口,
执行如下语句:
java -jar jarjar-1.3.jar process rule.txt httpclient-4.3.jar httpclient-4.3.jar
如图:
修改后如下图所示:
3.在java文件中重新引用jar包路径,如图所示:
4.注意:因为 httpclient-4.3.jar 和 httpcore-4.3.jar是互相依赖的jar包,所以 httpcore-4.3.jar也需要修改成一样package路径名,
原包路径如下:
修改后如下:
注意:如果client和core的package路径不一致,就会发生找不到client包中类引用不到core包中的方法。
推荐阅读
-
删除jar包中的指定文件 博客分类: Java compress解压缩删除jar包文件删除zip包文件删除压缩包文件
-
Maven本地工程jar包的引用 博客分类: 框架 mavenjar本地
-
struts2在jar包中找得到对应类,还是报找不到filter的错误 博客分类: web框架
-
如何查看用maven构建的项目pom中有哪些包冲突 博客分类: maven
-
IntelliJ IDEA - 如何查看 Maven 项目中所有 Jar 包的依赖关系图?
-
我们让tomcat不扫描指定的jar包 博客分类: Tomcat7集群
-
jar包中资源文件的读取 博客分类: java Jar
-
Maven本地工程jar包的引用 博客分类: 框架 mavenjar本地
-
(转)关于两个jar包中存在包名和类名都完全相同的问题 博客分类: Java javajareclipse
-
win7下不能双击打开Jar包的解决方案 博客分类: JavaSE Java编程Windows7win7Jar