如何解决jar包冲突
答案:2 悬赏:50 手机版
解决时间 2021-01-04 15:59
- 提问者网友:原来太熟悉了会陌生
- 2021-01-03 23:40
如何解决jar包冲突
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-01-10 06:37
关于jar包版本依赖冲突问题如何解决
大型的基于WebSphere的项目开发中,同一个WebSphereApplicationServer(以下简称WAS)上会部署多个应用程序,而这多个应用程序必然会共用一些jar包,包括第三方提供的工具和项目内部的公共jar等。把这些共用的jar包提取出来在多个应用程序之间共享,不仅可以统一对这些jar包进行维护,同时也提高了WAS的性能。但是随着应用的不断扩大,新的应用程序的不断增加,新的应用程序会希望使用一些更高版本的共享jar包,而由于系统运行维护的需要,老的应用程序仍然希望用老版本的共享jar包,这样就必然造成了共享jar包的版本冲突。jar包版本冲突问题是在大型应用项目的开发中经常遇到的问题,本文试图从WebSphere的类加载器入手,讨论几种在不同情况下解决jar包冲突问题的法。
大型的基于WebSphere的项目开发中,同一个WebSphereApplicationServer(以下简称WAS)上会部署多个应用程序,而这多个应用程序必然会共用一些jar包,包括第三方提供的工具和项目内部的公共jar等。把这些共用的jar包提取出来在多个应用程序之间共享,不仅可以统一对这些jar包进行维护,同时也提高了WAS的性能。但是随着应用的不断扩大,新的应用程序的不断增加,新的应用程序会希望使用一些更高版本的共享jar包,而由于系统运行维护的需要,老的应用程序仍然希望用老版本的共享jar包,这样就必然造成了共享jar包的版本冲突。jar包版本冲突问题是在大型应用项目的开发中经常遇到的问题,本文试图从WebSphere的类加载器入手,讨论几种在不同情况下解决jar包冲突问题的法。
全部回答
- 1楼网友:蕴藏春秋
- 2021-01-10 07:17
maven管理jar包依赖的时候,假如你的依赖包a需要间接依赖b的1.0版本,而你的工程里又需要用到b的2.0版本,这个时候就可能会出现运行时jar冲突的异常,会报java.lang.nosuchmethoderror或者 java.lang.classnotfoundexception 、java.lang.noclassdeffounderror
解决方法一:
第一步:查询冲突jar包的依赖树
mvn dependency:tree -dverbose -dincludes=org.springframework:spring
第二步:在pom里找到相应的jar去掉他的依赖传递
方法二:在父级pom中使用dependencymanagement管理公用的jar版本,子类中引入自己需要的jar版本,maven会优先使用子类的jar。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯