Correct the classpath of your application so that it contains a single, compile
xxxx包
看看哪些包冲突了
可以看maven-dependencies里面的红线
或者取项目依赖里面找
我的是很多个io.netty下的依赖用了65,然后又自己引用了一个36的版本netty-all
把netty-all的版本也改成65就可以了
还有一种情况是
几个包冲突
比如servlet-api 2.0 和 javax servlet-api 4.x ,
本质上是同一个包,但是却是不同的版本,所以当项目中调用servlet-api 2.0版本时就会自动生成,而我的版本比较高对应的是javax servlet-api 4.x版本的。
所以当两个同时存在时,就发生jar包冲突了,结果就是删掉低版本的servlet-api
但是,有些的地方提示你直接到maven文件夹去删,这样是不对的,你maven更新一下发现他又回来了
正确的方式是:
IDEA中,File->Project Structure->Libraries,在列表中找到你要删除的包(比如javax/servlet-api 2.3),右键点击删除

文章讲述了如何处理应用程序中的类路径问题,特别是针对Maven依赖中的版本冲突。举例说明了io.netty包和netty-all的不同版本冲突,以及servlet-api和javax.servlet-api的版本不一致导致的问题。建议通过IDEA的ProjectStructure删除不需要的库来解决冲突,而不是直接在Maven目录下删除,以确保冲突得到正确解决。
941

被折叠的 条评论
为什么被折叠?



